From f170ca4514988b7fd4e620aab62f2d4ba40e6a5a Mon Sep 17 00:00:00 2001 From: ReaJason Date: Fri, 9 Jan 2026 20:24:13 +0800 Subject: [PATCH] refactor: use commonUtil for packageName --- .../injector/tomcat/TomcatFilterInjector.java | 10 ++--- .../payload/filter/TomcatFilterProbe.java | 13 ++++--- .../reajason/javaweb/utils/CommonUtil.java | 39 +++++++++---------- .../glassfish/GlassFish3ContainerTest.java | 3 +- .../glassfish/GlassFish4ContainerTest.java | 4 +- .../glassfish/GlassFish501ContainerTest.java | 3 +- .../glassfish/GlassFish510ContainerTest.java | 3 +- .../glassfish/GlassFish6ContainerTest.java | 3 +- .../glassfish/GlassFish7ContainerTest.java | 3 +- .../probe/jbossas/Jboss423ContainerTest.java | 3 +- .../probe/jbossas/Jboss510ContainerTest.java | 3 +- .../probe/jbossas/Jboss610ContainerTest.java | 3 +- .../probe/jbossas/Jboss711ContainerTest.java | 3 +- .../probe/payara/Payara5201ContainerTest.java | 3 +- .../payara/Payara520225ContainerTest.java | 3 +- .../payara/Payara620222ContainerTest.java | 3 +- .../probe/tomcat/Tomcat10ContainerTest.java | 3 +- .../probe/tomcat/Tomcat11ContainerTest.java | 3 +- .../tomcat/Tomcat11JRE21ContainerTest.java | 3 +- .../probe/tomcat/Tomcat5ContainerTest.java | 3 +- .../probe/tomcat/Tomcat6ContainerTest.java | 3 +- .../probe/tomcat/Tomcat7ContainerTest.java | 3 +- .../probe/tomcat/Tomcat8ContainerTest.java | 3 +- .../probe/tomcat/Tomcat9ContainerTest.java | 3 +- 24 files changed, 70 insertions(+), 56 deletions(-) diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatFilterInjector.java index d1e9d97e..71fd69d1 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatFilterInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatFilterInjector.java @@ -278,13 +278,9 @@ public class TomcatFilterInjector { @SuppressWarnings("all") public static Object getFieldValue(Object obj, String name) throws NoSuchFieldException, IllegalAccessException { - try { - Field field = getField(obj, name); - field.setAccessible(true); - return field.get(obj); - } catch (NoSuchFieldException ignored) { - } - return null; + Field field = getField(obj, name); + field.setAccessible(true); + return field.get(obj); } diff --git a/generator/src/main/java/com/reajason/javaweb/probe/payload/filter/TomcatFilterProbe.java b/generator/src/main/java/com/reajason/javaweb/probe/payload/filter/TomcatFilterProbe.java index f7fe9dc0..aa3999d3 100644 --- a/generator/src/main/java/com/reajason/javaweb/probe/payload/filter/TomcatFilterProbe.java +++ b/generator/src/main/java/com/reajason/javaweb/probe/payload/filter/TomcatFilterProbe.java @@ -42,7 +42,6 @@ public class TomcatFilterProbe { if (filterMaps == null || filterMaps.length == 0) return Collections.emptyList(); Object[] filterDefs = (Object[]) invokeMethod(context, "findFilterDefs"); - Map filterConfigs = (Map) getFieldValue(context, "filterConfigs"); for (Object fm : filterMaps) { String name = (String) invokeMethod(fm, "getFilterName"); @@ -53,8 +52,8 @@ public class TomcatFilterProbe { for (Object def : filterDefs) { if (!name.equals(invokeMethod(def, "getFilterName"))) continue; String cls = (String) invokeMethod(def, "getFilterClass"); - if ((cls == null || "N/A".equals(cls)) && filterConfigs != null) { - Object config = filterConfigs.get(name); + if (cls == null) { + Object config = invokeMethod(context, "findFilterConfig", new Class[]{String.class}, new Object[]{name}); Object filter = config != null ? invokeMethod(config, "getFilter") : null; if (filter != null) cls = filter.getClass().getName(); } @@ -194,10 +193,12 @@ public class TomcatFilterProbe { return contexts; } + public static Object invokeMethod(Object obj, String methodName){ + return invokeMethod(obj, methodName, null, null); + } + @SuppressWarnings("all") - public static Object invokeMethod(Object obj, String methodName) { - Class[] paramClazz = null; - Object[] param = null; + public static Object invokeMethod(Object obj, String methodName, Class[] paramClazz, Object[] param) { try { Class clazz = (obj instanceof Class) ? (Class) obj : obj.getClass(); Method method = null; diff --git a/generator/src/main/java/com/reajason/javaweb/utils/CommonUtil.java b/generator/src/main/java/com/reajason/javaweb/utils/CommonUtil.java index 98e49f11..1b30b4ff 100644 --- a/generator/src/main/java/com/reajason/javaweb/utils/CommonUtil.java +++ b/generator/src/main/java/com/reajason/javaweb/utils/CommonUtil.java @@ -111,38 +111,35 @@ public class CommonUtil { return className + "$Proxy0$$Lambda$1"; } - public static String generateShellClassName(String server, String shellType) { - String packageName; + public static String getWebPackageNameForServer(String server) { switch (server) { case Jetty: - packageName = "org.eclipse.jetty.servlet.handlers"; - break; + return "org.eclipse.jetty.servlet.handlers"; case Undertow: - packageName = "io.undertow.servlet.handlers"; - break; + return "io.undertow.servlet.handlers"; case SpringWebMvc: - packageName = "org.springframework.boot.mvc.handlers"; - break; + return "org.springframework.boot.mvc.handlers"; case SpringWebFlux: - packageName = "org.springframework.boot.webflux.handlers"; - break; + return "org.springframework.boot.webflux.handlers"; case WebSphere: - packageName = "com.ibm.ws.webcontainer.handlers"; - break; + return "com.ibm.ws.webcontainer.handlers"; case WebLogic: - packageName = "weblogic.servlet.internal.handlers"; - break; + return "weblogic.servlet.internal.handlers"; case Resin: - packageName = "com.caucho.server.dispatch.handlers"; - break; + return "com.caucho.server.dispatch.handlers"; case BES: - packageName = "com.bes.enterprise.webtier.web.handlers"; - break; + return "com.bes.enterprise.webtier.web.handlers"; + case Apusic: + return "com.apusic.web.handlers"; + case InforSuite: + return "com.cvicse.inforsuite.web.handlers"; default: - packageName = "org.apache.http.web.handlers"; - break; + return "org.apache.http.web.handlers"; } - return packageName + } + + public static String generateShellClassName(String server, String shellType) { + return getWebPackageNameForServer(server) + "." + getRandomString(5) + "." + MIDDLEWARE_NAMES[new Random().nextInt(MIDDLEWARE_NAMES.length)] + shellType; } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish3ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish3ContainerTest.java index a84fc9d1..1335562f 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish3ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish3ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.AfterAll; @@ -107,6 +108,6 @@ public class GlassFish3ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getGlassFishFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.GlassFish)))); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish4ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish4ContainerTest.java index 0da66927..18b91097 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish4ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish4ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.AfterAll; @@ -20,7 +21,6 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.nio.file.Files; import java.nio.file.Paths; -import java.time.Duration; import java.util.List; import static com.reajason.javaweb.integration.ContainerTool.getUrl; @@ -108,6 +108,6 @@ public class GlassFish4ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getGlassFishFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.GlassFish)))); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish501ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish501ContainerTest.java index 6f090378..91eccbda 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish501ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish501ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeAll; @@ -100,6 +101,6 @@ public class GlassFish501ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getGlassFishFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.GlassFish)))); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish510ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish510ContainerTest.java index f50aca9d..b5d48544 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish510ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish510ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeAll; @@ -101,6 +102,6 @@ public class GlassFish510ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getGlassFishFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.GlassFish)))); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish6ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish6ContainerTest.java index 1a095902..29ecaf47 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish6ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish6ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeAll; @@ -101,6 +102,6 @@ public class GlassFish6ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getGlassFishFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.GlassFish)))); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish7ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish7ContainerTest.java index 3331e6e4..d6b187b0 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish7ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish7ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.AfterAll; @@ -107,6 +108,6 @@ public class GlassFish7ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getGlassFishFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.GlassFish)))); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss423ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss423ContainerTest.java index 72161eff..48d475bf 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss423ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss423ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -96,6 +97,6 @@ public class Jboss423ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getTomcatFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.JBoss)))); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss510ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss510ContainerTest.java index 7040b6f1..d81476df 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss510ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss510ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -94,6 +95,6 @@ public class Jboss510ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getTomcatFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.JBoss)))); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss610ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss610ContainerTest.java index 184d2dd6..9dcf855d 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss610ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss610ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -94,6 +95,6 @@ public class Jboss610ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getTomcatFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.JBoss)))); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss711ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss711ContainerTest.java index 47b23d24..a7354543 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss711ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/jbossas/Jboss711ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -94,6 +95,6 @@ public class Jboss711ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getTomcatFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.JBoss)))); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara5201ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara5201ContainerTest.java index 910daf10..759954eb 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara5201ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara5201ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.AfterAll; @@ -106,6 +107,6 @@ public class Payara5201ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getGlassFishFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.GlassFish)))); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara520225ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara520225ContainerTest.java index 61dea003..e64b7585 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara520225ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara520225ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeAll; @@ -100,6 +101,6 @@ public class Payara520225ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getGlassFishFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.GlassFish)))); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara620222ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara620222ContainerTest.java index 0155ef61..5bd21c54 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara620222ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/payara/Payara620222ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeAll; @@ -101,6 +102,6 @@ public class Payara620222ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getGlassFishFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.GlassFish)))); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat10ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat10ContainerTest.java index 218a1d63..6591fd5a 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat10ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat10ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.AfterAll; @@ -108,6 +109,6 @@ public class Tomcat10ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getTomcatFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.Tomcat)))); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat11ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat11ContainerTest.java index 61bfcf6a..9cc7032e 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat11ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat11ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; @@ -95,6 +96,6 @@ public class Tomcat11ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getTomcatFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.Tomcat)))); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat11JRE21ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat11JRE21ContainerTest.java index df1557eb..a05a2e23 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat11JRE21ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat11JRE21ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.bytebuddy.jar.asm.Opcodes; @@ -96,6 +97,6 @@ public class Tomcat11JRE21ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getTomcatFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.Tomcat)))); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat5ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat5ContainerTest.java index b642d10b..c40240f9 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat5ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat5ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.AfterAll; @@ -109,6 +110,6 @@ public class Tomcat5ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getTomcatFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.Tomcat)))); } } \ No newline at end of file diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat6ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat6ContainerTest.java index 768b4c9c..6d6b0d71 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat6ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat6ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -101,6 +102,6 @@ public class Tomcat6ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getTomcatFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.Tomcat)))); } } \ No newline at end of file diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat7ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat7ContainerTest.java index b7ba97b6..6bba46c2 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat7ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat7ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -103,6 +104,6 @@ public class Tomcat7ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getTomcatFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.Tomcat)))); } } \ No newline at end of file diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat8ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat8ContainerTest.java index 2ecf2354..769532ed 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat8ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat8ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -105,6 +106,6 @@ public class Tomcat8ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getTomcatFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.Tomcat)))); } } \ No newline at end of file diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat9ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat9ContainerTest.java index 7091de36..85073745 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat9ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat9ContainerTest.java @@ -7,6 +7,7 @@ import com.reajason.javaweb.integration.probe.DetectionTool; import com.reajason.javaweb.memshell.ShellTool; import com.reajason.javaweb.memshell.ShellType; import com.reajason.javaweb.packer.Packers; +import com.reajason.javaweb.utils.CommonUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; @@ -95,6 +96,6 @@ public class Tomcat9ContainerTest { String data = VulTool.post(url + "/b64", DetectionTool.getTomcatFilterProbe()); List filter = ProbeAssertion.getFiltersForContext(data, "/app"); String filterName = ProbeAssertion.extractFilterName(filter.get(0)); - assertThat(filterName, anyOf(startsWith("org.apache.http.web.handlers"))); + assertThat(filterName, anyOf(startsWith(CommonUtil.getWebPackageNameForServer(Server.Tomcat)))); } }