diff --git a/.github/workflows/memshell-integration-test.yml b/.github/workflows/memshell-integration-test.yml index e3bfdd6c..ba645153 100644 --- a/.github/workflows/memshell-integration-test.yml +++ b/.github/workflows/memshell-integration-test.yml @@ -48,8 +48,8 @@ jobs: depend_tasks: ":vul:vul-springboot2-webflux:bootJar :vul:vul-springboot3-webflux:bootJar" - middleware: "xxljob" depend_tasks: "" - - middleware: "struct2" - depend_tasks: ":vul:vul-struct2:war" + - middleware: "struts2" + depend_tasks: ":vul:vul-struts2:war" runs-on: ubuntu-22.04 name: ${{ matrix.cases.middleware }} steps: diff --git a/.github/workflows/probe-integration-test.yml b/.github/workflows/probe-integration-test.yml index 4b1c18a0..0efa4cf1 100644 --- a/.github/workflows/probe-integration-test.yml +++ b/.github/workflows/probe-integration-test.yml @@ -42,8 +42,8 @@ jobs: depend_tasks: ":vul:vul-webapp:war" - middleware: "springwebmvc" 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: "struct2" - depend_tasks: ":vul:vul-struct2:war" + - middleware: "struts2" + depend_tasks: ":vul:vul-struts2:war" runs-on: ubuntu-22.04 name: ${{ matrix.cases.middleware }} steps: diff --git a/generator/src/main/java/com/reajason/javaweb/Server.java b/generator/src/main/java/com/reajason/javaweb/Server.java index b0ef32fe..804f91ce 100644 --- a/generator/src/main/java/com/reajason/javaweb/Server.java +++ b/generator/src/main/java/com/reajason/javaweb/Server.java @@ -20,6 +20,6 @@ public class Server { public static final String SpringWebMvc = "SpringWebMvc"; public static final String SpringWebFlux = "SpringWebFlux"; public static final String XXLJOB = "XXLJOB"; - public static final String Struct2 = "Struct2"; + public static final String Struts2 = "Struts2"; public static final String Dubbo = "Dubbo"; } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/ServerFactory.java b/generator/src/main/java/com/reajason/javaweb/memshell/ServerFactory.java index 3ffa86a6..e5f6a5ec 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/ServerFactory.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/ServerFactory.java @@ -46,7 +46,7 @@ public class ServerFactory { register(Server.SpringWebMvc, SpringWebMvc::new); register(Server.SpringWebFlux, SpringWebFlux::new); register(Server.XXLJOB, XxlJob::new); - register(Server.Struct2, Struct2::new); + register(Server.Struts2, Struts2::new); register(Server.Dubbo, Dubbo::new); addToolMapping(ShellTool.Godzilla, ToolMapping.builder() @@ -82,7 +82,7 @@ public class ServerFactory { .addShellClass(UNDERTOW_AGENT_SERVLET_HANDLER, GodzillaUndertowServletHandler.class) .addShellClass(WEBLOGIC_AGENT_SERVLET_CONTEXT, Godzilla.class) .addShellClass(WAS_AGENT_FILTER_MANAGER, Godzilla.class) - .addShellClass(ACTION, GodzillaStruct2Action.class) + .addShellClass(ACTION, GodzillaStruts2Action.class) .build()); addToolMapping(ShellTool.Behinder, ToolMapping.builder() @@ -107,7 +107,7 @@ public class ServerFactory { .addShellClass(UNDERTOW_AGENT_SERVLET_HANDLER, BehinderUndertowServletHandler.class) .addShellClass(WEBLOGIC_AGENT_SERVLET_CONTEXT, Behinder.class) .addShellClass(WAS_AGENT_FILTER_MANAGER, Behinder.class) - .addShellClass(ACTION, BehinderStruct2Action.class) + .addShellClass(ACTION, BehinderStruts2Action.class) .build()); addToolMapping(ShellTool.AntSword, ToolMapping.builder() @@ -125,7 +125,7 @@ public class ServerFactory { .addShellClass(UNDERTOW_AGENT_SERVLET_HANDLER, AntSwordUndertowServletHandler.class) .addShellClass(WEBLOGIC_AGENT_SERVLET_CONTEXT, AntSword.class) .addShellClass(WAS_AGENT_FILTER_MANAGER, AntSword.class) - .addShellClass(ACTION, AntSwordStruct2Action.class) + .addShellClass(ACTION, AntSwordStruts2Action.class) .build()); addToolMapping(ShellTool.Command, ToolMapping.builder() @@ -162,7 +162,7 @@ public class ServerFactory { .addShellClass(UNDERTOW_AGENT_SERVLET_HANDLER, CommandUndertowServletHandler.class) .addShellClass(WEBLOGIC_AGENT_SERVLET_CONTEXT, Command.class) .addShellClass(WAS_AGENT_FILTER_MANAGER, Command.class) - .addShellClass(ACTION, CommandStruct2Action.class) + .addShellClass(ACTION, CommandStruts2Action.class) .addShellClass(ALIBABA_DUBBO_SERVICE, CommandDubboService.class) .addShellClass(APACHE_DUBBO_SERVICE, CommandDubboService.class) .build()); @@ -190,7 +190,7 @@ public class ServerFactory { .addShellClass(UNDERTOW_AGENT_SERVLET_HANDLER, Suo5UndertowServletHandler.class) .addShellClass(WEBLOGIC_AGENT_SERVLET_CONTEXT, Suo5.class) .addShellClass(WAS_AGENT_FILTER_MANAGER, Suo5.class) - .addShellClass(ACTION, Suo5Struct2Action.class) + .addShellClass(ACTION, Suo5Struts2Action.class) .build()); addToolMapping(ShellTool.Suo5v2, ToolMapping.builder() @@ -215,7 +215,7 @@ public class ServerFactory { .addShellClass(UNDERTOW_AGENT_SERVLET_HANDLER, Suo5v2UndertowServletHandler.class) .addShellClass(WEBLOGIC_AGENT_SERVLET_CONTEXT, Suo5v2.class) .addShellClass(WAS_AGENT_FILTER_MANAGER, Suo5v2.class) - .addShellClass(ACTION, Suo5v2Struct2Action.class) + .addShellClass(ACTION, Suo5v2Struts2Action.class) .addShellClass(CUSTOMIZER, Suo5v2JettyCustomizer.class) .build()); @@ -241,7 +241,7 @@ public class ServerFactory { .addShellClass(UNDERTOW_AGENT_SERVLET_HANDLER, NeoreGeorgUndertowServletHandler.class) .addShellClass(WEBLOGIC_AGENT_SERVLET_CONTEXT, NeoreGeorg.class) .addShellClass(WAS_AGENT_FILTER_MANAGER, NeoreGeorg.class) - .addShellClass(ACTION, NeoreGeorgStruct2Action.class) + .addShellClass(ACTION, NeoreGeorgStruts2Action.class) .build()); addToolMapping(ShellTool.Proxy, ToolMapping.builder() diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/struct2/Struct2ActionInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/struts2/Struts2ActionInjector.java similarity index 98% rename from generator/src/main/java/com/reajason/javaweb/memshell/injector/struct2/Struct2ActionInjector.java rename to generator/src/main/java/com/reajason/javaweb/memshell/injector/struts2/Struts2ActionInjector.java index 8ef54a34..6d2867ad 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/struct2/Struct2ActionInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/struts2/Struts2ActionInjector.java @@ -1,4 +1,4 @@ -package com.reajason.javaweb.memshell.injector.struct2; +package com.reajason.javaweb.memshell.injector.struts2; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -15,7 +15,7 @@ import java.util.zip.GZIPInputStream; * @author ReaJason * @since 2025/12/8 */ -public class Struct2ActionInjector { +public class Struts2ActionInjector { private static String msg = ""; private static boolean ok = false; @@ -32,7 +32,7 @@ public class Struct2ActionInjector { return "{{base64Str}}"; } - public Struct2ActionInjector() { + public Struts2ActionInjector() { if (ok) { return; } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/server/Struct2.java b/generator/src/main/java/com/reajason/javaweb/memshell/server/Struts2.java similarity index 64% rename from generator/src/main/java/com/reajason/javaweb/memshell/server/Struct2.java rename to generator/src/main/java/com/reajason/javaweb/memshell/server/Struts2.java index 4108637a..55ea2f05 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/server/Struct2.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/server/Struts2.java @@ -1,18 +1,18 @@ package com.reajason.javaweb.memshell.server; import com.reajason.javaweb.memshell.ShellType; -import com.reajason.javaweb.memshell.injector.struct2.Struct2ActionInjector; +import com.reajason.javaweb.memshell.injector.struts2.Struts2ActionInjector; /** * @author ReaJason * @since 2025/12/8 */ -public class Struct2 extends AbstractServer { +public class Struts2 extends AbstractServer { @Override public InjectorMapping getShellInjectorMapping() { return InjectorMapping.builder() - .addInjector(ShellType.ACTION, Struct2ActionInjector.class) + .addInjector(ShellType.ACTION, Struts2ActionInjector.class) .build(); } } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordStruct2Action.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordStruts2Action.java similarity index 98% rename from generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordStruct2Action.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordStruts2Action.java index a4e53470..40059777 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordStruct2Action.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/antsword/AntSwordStruts2Action.java @@ -10,7 +10,7 @@ import java.net.URLClassLoader; * @author ReaJason * @since 2025/02/18 */ -public class AntSwordStruct2Action { +public class AntSwordStruts2Action { public static String pass; public static String headerName; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderStruct2Action.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderStruts2Action.java similarity index 99% rename from generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderStruct2Action.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderStruts2Action.java index 1fc453ff..6badbcd2 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderStruct2Action.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/behinder/BehinderStruts2Action.java @@ -15,7 +15,7 @@ import java.util.Map; /** * @author ReaJason */ -public class BehinderStruct2Action { +public class BehinderStruts2Action { public static String pass; public static String headerName; public static String headerValue; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandStruct2Action.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandStruts2Action.java similarity index 97% rename from generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandStruct2Action.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandStruts2Action.java index 9928c236..0fb36c59 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandStruct2Action.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/command/CommandStruts2Action.java @@ -10,7 +10,7 @@ import java.util.Scanner; * @author ReaJason * @since 2025/12/8 */ -public class CommandStruct2Action { +public class CommandStruts2Action { private static String paramName; public String execute() throws Exception { diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaStruct2Action.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaStruts2Action.java similarity index 99% rename from generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaStruct2Action.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaStruts2Action.java index a68002b9..9959f4ba 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaStruct2Action.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/godzilla/GodzillaStruts2Action.java @@ -15,7 +15,7 @@ import java.net.URLClassLoader; * @author ReaJason * @since 2024/12/15 */ -public class GodzillaStruct2Action { +public class GodzillaStruts2Action { private static String key; private static String pass; private static String md5; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgStruct2Action.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgStruts2Action.java similarity index 99% rename from generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgStruct2Action.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgStruts2Action.java index 3bb5e0dc..ca6f9a95 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgStruct2Action.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/neoreg/NeoreGeorgStruts2Action.java @@ -18,7 +18,7 @@ import java.util.zip.GZIPInputStream; *

* key: key */ -public class NeoreGeorgStruct2Action { +public class NeoreGeorgStruts2Action { public static String headerName; public static String headerValue; diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Struct2Action.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Struts2Action.java similarity index 98% rename from generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Struct2Action.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Struts2Action.java index 56bfab0f..a2f2a7a1 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Struct2Action.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5/Suo5Struts2Action.java @@ -16,7 +16,7 @@ import java.util.HashMap; * @author ReaJason * @since 2024/12/15 */ -public class Suo5Struct2Action implements Runnable, HostnameVerifier, X509TrustManager { +public class Suo5Struts2Action implements Runnable, HostnameVerifier, X509TrustManager { public static String headerName; public static String headerValue; public static HashMap addrs = collectAddr(); @@ -25,10 +25,10 @@ public class Suo5Struct2Action implements Runnable, HostnameVerifier, X509TrustM InputStream gInStream; OutputStream gOutStream; - public Suo5Struct2Action() { + public Suo5Struts2Action() { } - public Suo5Struct2Action(InputStream in, OutputStream out) { + public Suo5Struts2Action(InputStream in, OutputStream out) { this.gInStream = in; this.gOutStream = out; } @@ -268,7 +268,7 @@ public class Suo5Struct2Action implements Runnable, HostnameVerifier, X509TrustM Thread t = null; try { - Suo5Struct2Action p = new Suo5Struct2Action(scInStream, respOutStream); + Suo5Struts2Action p = new Suo5Struts2Action(scInStream, respOutStream); t = new Thread(p); t.start(); readReq(reqInputStream, scOutStream); diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5v2/Suo5v2Struct2Action.java b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5v2/Suo5v2Struts2Action.java similarity index 97% rename from generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5v2/Suo5v2Struct2Action.java rename to generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5v2/Suo5v2Struts2Action.java index 621abb53..ff55ad72 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5v2/Suo5v2Struct2Action.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5v2/Suo5v2Struts2Action.java @@ -14,11 +14,11 @@ import java.util.zip.GZIPInputStream; * @author ReaJason * @since 2025/12/9 */ -public class Suo5v2Struct2Action { +public class Suo5v2Struts2Action { private static Class suo5V2Class; private static String suo5V2GZipBase64; - public Suo5v2Struct2Action() { + public Suo5v2Struts2Action() { } public void execute() throws Exception { diff --git a/generator/src/main/java/com/reajason/javaweb/probe/generator/response/ResponseBodyGenerator.java b/generator/src/main/java/com/reajason/javaweb/probe/generator/response/ResponseBodyGenerator.java index ced27afa..8515336e 100644 --- a/generator/src/main/java/com/reajason/javaweb/probe/generator/response/ResponseBodyGenerator.java +++ b/generator/src/main/java/com/reajason/javaweb/probe/generator/response/ResponseBodyGenerator.java @@ -106,8 +106,8 @@ public class ResponseBodyGenerator extends ByteBuddyShellGenerator