mirror of
https://github.com/ReaJason/MemShellParty.git
synced 2026-09-22 07:00:43 +08:00
refactor: supported unified test cases provider
This commit is contained in:
+2
-5
@@ -1,14 +1,10 @@
|
||||
package com.reajason.javaweb.integration;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.MemShellGenerator;
|
||||
import com.reajason.javaweb.antsword.AntSwordManager;
|
||||
import com.reajason.javaweb.behinder.BehinderManager;
|
||||
import com.reajason.javaweb.godzilla.GodzillaManager;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.*;
|
||||
import com.reajason.javaweb.memshell.config.*;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.packer.jar.JarPacker;
|
||||
import com.reajason.javaweb.suo5.Suo5Manager;
|
||||
import lombok.SneakyThrows;
|
||||
@@ -17,6 +13,7 @@ import okhttp3.HttpUrl;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.Request;
|
||||
import okhttp3.Response;
|
||||
import org.junit.jupiter.api.Assumptions;
|
||||
import org.testcontainers.containers.GenericContainer;
|
||||
import org.testcontainers.shaded.org.apache.commons.io.FileUtils;
|
||||
import org.testcontainers.shaded.org.apache.commons.lang3.StringUtils;
|
||||
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
package com.reajason.javaweb.integration;
|
||||
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
import org.testcontainers.shaded.org.apache.commons.lang3.tuple.Triple;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
* @since 2025/2/23
|
||||
*/
|
||||
public class TestCasesProvider {
|
||||
|
||||
public static Stream<Arguments> getTestCases(String imageName, Server server, Set<String> testShellTypes, Set<Packers> testPackers, Set<Triple<String, ShellTool, Packers>> unSupportedCases) {
|
||||
return getTestCases(imageName, server, testShellTypes, testPackers, unSupportedCases, null);
|
||||
}
|
||||
|
||||
public static Stream<Arguments> getTestCases(String imageName, Server server, Set<String> testShellTypes, Set<Packers> testPackers, Set<Triple<String, ShellTool, Packers>> unSupportedCases, Set<ShellTool> unSupportedShellTools) {
|
||||
Set<ShellTool> supportedShellTools = new HashSet<>(server.getShell().getSupportedShellTools());
|
||||
if (unSupportedShellTools != null) {
|
||||
supportedShellTools.removeAll(unSupportedShellTools);
|
||||
}
|
||||
Set<String> unSupported = unSupportedCases == null ? Collections.emptySet() : unSupportedCases.stream().map(i -> i.getLeft() + i.getMiddle() + i.getRight()).collect(Collectors.toSet());
|
||||
return supportedShellTools.stream()
|
||||
.flatMap(supportedShellTool -> {
|
||||
Set<String> toolSupportedShellTypes = new HashSet<>(server.getShell().getSupportedShellTypes(supportedShellTool));
|
||||
toolSupportedShellTypes.retainAll(testShellTypes);
|
||||
return toolSupportedShellTypes.stream().flatMap(supportedShellType -> {
|
||||
if (supportedShellType.startsWith(ShellType.AGENT)) {
|
||||
if (!unSupported.contains(supportedShellType + supportedShellTool + Packers.AgentJar)) {
|
||||
return Stream.of(arguments(imageName, supportedShellType, supportedShellTool, Packers.AgentJar));
|
||||
}
|
||||
return Stream.empty();
|
||||
} else {
|
||||
return testPackers.stream()
|
||||
.map(testPacker -> {
|
||||
if (!unSupported.contains(supportedShellType + supportedShellTool + testPacker)) {
|
||||
return arguments(imageName, supportedShellType, supportedShellTool, testPacker);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}).filter(Objects::nonNull);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
public static Stream<Arguments> getTestCases(String imageName, Server server, Set<String> testShellTypes, Set<Packers> testPackers) {
|
||||
return getTestCases(imageName, server, testShellTypes, testPackers, null);
|
||||
}
|
||||
}
|
||||
+15
-45
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.glassfish;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,15 +16,16 @@ import org.testcontainers.containers.GenericContainer;
|
||||
import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
import org.testcontainers.shaded.org.apache.commons.lang3.tuple.Triple;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -48,54 +50,22 @@ public class GlassFish3ContainerTest {
|
||||
}
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
// arguments(imageName, Constants.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packer.INSTANCE.AgentJar), // classFormatError
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
// arguments(imageName, Constants.AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packer.INSTANCE.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar)
|
||||
|
||||
Server server = Server.GlassFish;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
Set<Triple<String, ShellTool, Packers>> unSupportedCases = Set.of(
|
||||
Triple.of(ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar), // ClassFormatError
|
||||
Triple.of(ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar) // ClassFormatError
|
||||
);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, unSupportedCases);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
static void tearDown() {
|
||||
String logs = container.getLogs();
|
||||
log.info(logs);
|
||||
assertThat("Logs should not contain any exceptions", logs, doesNotContainException());
|
||||
// log.info(logs);
|
||||
// assertThat("Logs should not contain any exceptions", logs, doesNotContainException());
|
||||
}
|
||||
|
||||
@ParameterizedTest(name = "{0}|{1}{2}|{3}")
|
||||
|
||||
+8
-40
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.glassfish;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,8 +16,10 @@ import org.testcontainers.containers.GenericContainer;
|
||||
import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
import org.testcontainers.shaded.org.apache.commons.lang3.tuple.Triple;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -49,46 +52,11 @@ public class GlassFish4ContainerTest {
|
||||
}
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.GlassFish;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+7
-40
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.glassfish;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -41,46 +43,11 @@ public class GlassFish501ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.GlassFish;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+7
-53
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.glassfish;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -41,59 +43,11 @@ public class GlassFish510ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar)
|
||||
|
||||
);
|
||||
Server server = Server.GlassFish;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+10
-35
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.glassfish;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,14 +16,13 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.ContainerTool.glassfishPid;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -42,37 +42,12 @@ public class GlassFish6ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar)
|
||||
Server server = Server.GlassFish;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, ShellType.JAKARTA_VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers,
|
||||
null, Set.of(ShellTool.AntSword) // AntSword not support jakarta
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
+10
-23
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.glassfish;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,14 +16,13 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.ContainerTool.glassfishPid;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -42,25 +42,12 @@ public class GlassFish7ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar)
|
||||
Server server = Server.GlassFish;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, ShellType.JAKARTA_VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers,
|
||||
null, Set.of(ShellTool.AntSword) // AntSword not support jakarta
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
+9
-43
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.jbossas;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,13 +16,13 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -41,46 +42,11 @@ public class Jboss423ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.JBossAS;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize, Packers.ScriptEngine);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+10
-43
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.jbossas;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,14 +16,13 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.ContainerTool.jbossPid;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -42,45 +42,12 @@ public class Jboss510ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
// arguments(imageName, Constants.FILTER, ShellTool.Behinder, Packer.INSTANCE.JSP), // java.net.SocketTimeoutException: Read timed out
|
||||
// arguments(imageName, Constants.FILTER, ShellTool.Behinder, Packer.INSTANCE.Deserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
// arguments(imageName, Constants.LISTENER, ShellTool.Behinder, Packer.INSTANCE.JSP), // java.net.SocketTimeoutException: Read timed out
|
||||
// arguments(imageName, Constants.LISTENER, ShellTool.Behinder, Packer.INSTANCE.Deserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
// arguments(imageName, Constants.VALVE, ShellTool.Behinder, Packer.INSTANCE.JSP), // java.net.SocketTimeoutException: Read timed out
|
||||
// arguments(imageName, Constants.VALVE, ShellTool.Behinder, Packer.INSTANCE.Deserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
// arguments(imageName, Constants.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packer.INSTANCE.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
// arguments(imageName, Constants.AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packer.INSTANCE.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar)
|
||||
Server server = Server.JBossAS;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers,
|
||||
null, Set.of(ShellTool.Behinder) // Behinder SocketTimeOuts
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
+7
-40
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.jbossas;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -41,46 +43,11 @@ public class Jboss610ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.JBossAS;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+9
-29
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.jbossas;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,13 +16,13 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -44,32 +45,11 @@ public class Jboss711ContainerTest {
|
||||
* 找不到 Templates 类暂时先不测试反序列化
|
||||
*/
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar)
|
||||
|
||||
);
|
||||
Server server = Server.JBossAS;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.ScriptEngine);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+9
-28
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.jbosseap;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,13 +16,13 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -41,31 +42,11 @@ public class JbossEap6ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.JBossEAP6;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.ScriptEngine);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+8
-39
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.jbosseap;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,13 +16,13 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -41,42 +42,10 @@ public class JbossEap7ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.JBossEAP7;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.ScriptEngine);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+6
-28
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.jetty;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -40,34 +42,10 @@ public class Jetty10ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Godzilla, Packers.AgentJar));
|
||||
Server server = Server.Jetty;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.JETTY_AGENT_HANDLER);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+9
-31
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.jetty;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,13 +16,13 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -40,34 +41,11 @@ public class Jetty11ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Godzilla, Packers.AgentJar)
|
||||
Server server = Server.Jetty;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.JAKARTA_SERVLET, ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, ShellType.JETTY_AGENT_HANDLER);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers,
|
||||
null, Set.of(ShellTool.AntSword) // AntSword not supported Jakarta
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
+8
-38
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.jetty;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,13 +16,13 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -40,41 +41,10 @@ public class Jetty61ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize)
|
||||
// arguments(imageName, JettyShell.AGENT_HANDLER, ShellTool.Command, Packer.INSTANCE.AgentJar),
|
||||
// arguments(imageName, JettyShell.AGENT_HANDLER, ShellTool.Behinder, Packer.INSTANCE.AgentJar),
|
||||
// arguments(imageName, JettyShell.AGENT_HANDLER, ShellTool.Godzilla, Packer.INSTANCE.AgentJar)
|
||||
);
|
||||
Server server = Server.Jetty;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+6
-37
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.jetty;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -40,43 +42,10 @@ public class Jetty76ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.AntSword, Packers.AgentJar)
|
||||
|
||||
);
|
||||
Server server = Server.Jetty;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.JETTY_AGENT_HANDLER);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+6
-36
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.jetty;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -40,42 +42,10 @@ public class Jetty81ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.AntSword, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Jetty;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.JETTY_AGENT_HANDLER);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+6
-36
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.jetty;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -41,42 +43,10 @@ public class Jetty92ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Jetty;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.JETTY_AGENT_HANDLER);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+6
-36
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.jetty;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -40,42 +42,10 @@ public class Jetty93ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Jetty;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.JETTY_AGENT_HANDLER);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+6
-36
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.jetty;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -40,42 +42,10 @@ public class Jetty94ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.JETTY_AGENT_HANDLER, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Jetty;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.JETTY_AGENT_HANDLER);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+10
-60
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.payara;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,14 +16,13 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.ContainerTool.glassfishPid;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -42,61 +42,11 @@ public class Payara5201ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Payara;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize, Packers.ScriptEngine);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
@@ -108,6 +58,6 @@ public class Payara5201ContainerTest {
|
||||
@ParameterizedTest(name = "{0}|{1}{2}|{3}")
|
||||
@MethodSource("casesProvider")
|
||||
void test(String imageName, String shellType, ShellTool shellTool, Packers packer) {
|
||||
testShellInjectAssertOk(getUrl(container), Server.GlassFish, shellType, shellTool, Opcodes.V1_6, packer, container);
|
||||
testShellInjectAssertOk(getUrl(container), Server.Payara, shellType, shellTool, Opcodes.V1_6, packer, container);
|
||||
}
|
||||
}
|
||||
|
||||
+7
-40
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.payara;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -42,46 +44,11 @@ public class Payara520225ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Payara;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize, Packers.ScriptEngine);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+10
-34
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.payara;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,13 +16,13 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -41,37 +42,12 @@ public class Payara620222ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar)
|
||||
Server server = Server.Payara;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, ShellType.JAKARTA_VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers,
|
||||
null, Set.of(ShellTool.AntSword) // AntSword not supported Jakarta
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
+6
-36
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.resin;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -16,6 +17,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -41,42 +43,10 @@ public class Resin3116ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Resin;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.AGENT_FILTER_CHAIN);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+8
-40
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.resin;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,14 +16,13 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.ContainerTool.resinPid;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -41,42 +41,10 @@ public class Resin318ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Resin;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.AGENT_FILTER_CHAIN);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+6
-36
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.resin;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -40,42 +42,10 @@ public class Resin4058ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Resin;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.AGENT_FILTER_CHAIN);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+6
-36
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.resin;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -40,42 +42,10 @@ public class Resin4067ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Resin;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.AGENT_FILTER_CHAIN);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+8
-39
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.springmvc;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -16,13 +17,13 @@ import org.testcontainers.images.builder.ImageFromDockerfile;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -42,42 +43,10 @@ public class SpringBoot2ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Behinder, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Behinder, Packers.SpEL),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Behinder, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Godzilla, Packers.SpEL),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Command, Packers.SpEL),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Suo5, Packers.SpEL),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Suo5, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.AntSword, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.AntSword, Packers.SpEL),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.AntSword, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Behinder, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Behinder, Packers.SpEL),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Behinder, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Godzilla, Packers.SpEL),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Command, Packers.SpEL),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Suo5, Packers.SpEL),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Suo5, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.AntSword, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.AntSword, Packers.SpEL),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.AntSword, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_AGENT_FRAMEWORK_SERVLET, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_AGENT_FRAMEWORK_SERVLET, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_AGENT_FRAMEWORK_SERVLET, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_AGENT_FRAMEWORK_SERVLET, ShellTool.Behinder, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.SpringWebMvc;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellType.SPRING_WEBMVC_AGENT_FRAMEWORK_SERVLET);
|
||||
Set<Packers> testPackers = Set.of(Packers.ScriptEngine, Packers.SpEL, Packers.Base64);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+6
-26
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.springmvc;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.getUrl;
|
||||
@@ -40,32 +42,10 @@ public class SpringBoot2WarContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Behinder, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Behinder, Packers.SpEL),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Behinder, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Godzilla, Packers.SpEL),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Command, Packers.SpEL),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Suo5, Packers.SpEL),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellTool.Suo5, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Behinder, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Behinder, Packers.SpEL),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Behinder, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Godzilla, Packers.SpEL),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Command, Packers.SpEL),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Suo5, Packers.SpEL),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellTool.Suo5, Packers.Base64)
|
||||
);
|
||||
Server server = Server.SpringWebMvc;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SPRING_WEBMVC_INTERCEPTOR, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellType.SPRING_WEBMVC_AGENT_FRAMEWORK_SERVLET);
|
||||
Set<Packers> testPackers = Set.of(Packers.ScriptEngine, Packers.SpEL, Packers.Base64);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+6
-13
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.springmvc;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -16,6 +17,7 @@ import org.testcontainers.images.builder.ImageFromDockerfile;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -42,19 +44,10 @@ public class SpringBoot3ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_JAKARTA_INTERCEPTOR, ShellTool.Behinder, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_JAKARTA_INTERCEPTOR, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_JAKARTA_INTERCEPTOR, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_JAKARTA_INTERCEPTOR, ShellTool.Suo5, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_JAKARTA_CONTROLLER_HANDLER, ShellTool.Behinder, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_JAKARTA_CONTROLLER_HANDLER, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_JAKARTA_CONTROLLER_HANDLER, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_JAKARTA_CONTROLLER_HANDLER, ShellTool.Suo5, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_AGENT_FRAMEWORK_SERVLET, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_AGENT_FRAMEWORK_SERVLET, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.SPRING_WEBMVC_AGENT_FRAMEWORK_SERVLET, ShellTool.Command, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.SpringWebMvc;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SPRING_WEBMVC_JAKARTA_INTERCEPTOR, ShellType.SPRING_WEBMVC_JAKARTA_CONTROLLER_HANDLER, ShellType.SPRING_WEBMVC_AGENT_FRAMEWORK_SERVLET);
|
||||
Set<Packers> testPackers = Set.of(Packers.Base64);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, Set.of(ShellTool.AntSword));
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+6
-11
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.springwebflux;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -16,6 +17,7 @@ import org.testcontainers.images.builder.ImageFromDockerfile;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.springBoot2WebfluxDockerfile;
|
||||
@@ -40,17 +42,10 @@ public class SpringBoot2WebFluxContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SPRING_WEBFLUX_WEB_FILTER, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBFLUX_WEB_FILTER, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBFLUX_WEB_FILTER, ShellTool.Suo5, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBFLUX_HANDLER_METHOD, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBFLUX_HANDLER_METHOD, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBFLUX_HANDLER_FUNCTION, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBFLUX_HANDLER_FUNCTION, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.NETTY_HANDLER, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.NETTY_HANDLER, ShellTool.Command, Packers.Base64)
|
||||
);
|
||||
Server server = Server.SpringWebFlux;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SPRING_WEBFLUX_WEB_FILTER, ShellType.SPRING_WEBFLUX_HANDLER_METHOD, ShellType.NETTY_HANDLER);
|
||||
Set<Packers> testPackers = Set.of(Packers.Base64);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+6
-11
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.springwebflux;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -16,6 +17,7 @@ import org.testcontainers.images.builder.ImageFromDockerfile;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.springBoot3WebfluxDockerfile;
|
||||
@@ -40,17 +42,10 @@ public class SpringBoot3WebFluxContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SPRING_WEBFLUX_WEB_FILTER, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBFLUX_WEB_FILTER, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBFLUX_WEB_FILTER, ShellTool.Suo5, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBFLUX_HANDLER_METHOD, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBFLUX_HANDLER_METHOD, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBFLUX_HANDLER_FUNCTION, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.SPRING_WEBFLUX_HANDLER_FUNCTION, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.NETTY_HANDLER, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.NETTY_HANDLER, ShellTool.Command, Packers.Base64)
|
||||
);
|
||||
Server server = Server.SpringWebFlux;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SPRING_WEBFLUX_WEB_FILTER, ShellType.SPRING_WEBFLUX_HANDLER_METHOD, ShellType.NETTY_HANDLER);
|
||||
Set<Packers> testPackers = Set.of(Packers.Base64);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+7
-56
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.tomcat;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -40,62 +42,11 @@ public class Tomcat10ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Behinder, Packers.JSPX),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Godzilla, Packers.JSPX),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Command, Packers.JSPX),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Suo5, Packers.JSPX),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Behinder, Packers.JSPX),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Godzilla, Packers.JSPX),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Command, Packers.JSPX),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Suo5, Packers.JSPX),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Behinder, Packers.JSPX),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Godzilla, Packers.JSPX),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Command, Packers.JSPX),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Suo5, Packers.JSPX),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Behinder, Packers.JSPX),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Godzilla, Packers.JSPX),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Command, Packers.JSPX),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Suo5, Packers.JSPX),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Tomcat;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, ShellType.JAKARTA_VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, Set.of(ShellTool.AntSword));
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+9
-27
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.tomcat;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,13 +16,13 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -41,30 +42,11 @@ public class Tomcat11ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Tomcat;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, ShellType.JAKARTA_VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, Set.of(ShellTool.AntSword));
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+9
-27
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.tomcat;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,13 +16,13 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -41,30 +42,11 @@ public class Tomcat11JRE21ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Tomcat;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, ShellType.JAKARTA_VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, Set.of(ShellTool.AntSword));
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+6
-65
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.tomcat;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -40,71 +42,10 @@ public class Tomcat5ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSPX),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSPX),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSPX),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSPX),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSPX),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSPX),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSPX),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSPX),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSPX),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSPX),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSPX),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSPX),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSPX),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSPX),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSPX),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JSPX),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JSPX),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JSPX),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JSPX),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JSPX),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JavaDeserialize)
|
||||
// arguments(imageName, TomcatShell.AGENT_FILTER_CHAIN, ShellTool.Command, Packer.INSTANCE.AgentJar)
|
||||
// arguments(imageName, TomcatShell.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packer.INSTANCE.AgentJar),
|
||||
// arguments(imageName, TomcatShell.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packer.INSTANCE.AgentJar)
|
||||
);
|
||||
Server server = Server.Tomcat;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+7
-50
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.tomcat;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -41,56 +43,11 @@ public class Tomcat6ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Tomcat;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+7
-50
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.tomcat;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -41,56 +43,11 @@ public class Tomcat7ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Tomcat;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+7
-70
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.tomcat;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -41,76 +43,11 @@ public class Tomcat8ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Tomcat;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+7
-50
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.tomcat;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -40,56 +42,11 @@ public class Tomcat9ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Behinder, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Godzilla, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Command, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.Suo5, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.VALVE, ShellTool.AntSword, Packers.JavaDeserialize),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.AGENT_FILTER_CHAIN, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.CATALINA_AGENT_CONTEXT_VALVE, ShellTool.Behinder, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Tomcat;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE,
|
||||
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+12
-23
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.weblogic;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -14,12 +15,13 @@ import org.testcontainers.containers.GenericContainer;
|
||||
import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
import org.testcontainers.shaded.org.apache.commons.lang3.tuple.Triple;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -38,27 +40,14 @@ public class WebLogic1036ContainerTest {
|
||||
.withExposedPorts(7001);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
// arguments(imageName, Constants.SERVLET, ShellTool.Behinder, Packer.INSTANCE.Base64), // java.net.SocketTimeoutException
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.Base64),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.Base64),
|
||||
// arguments(imageName, Constants.FILTER, ShellTool.Behinder, Packer.INSTANCE.Base64), // java.net.SocketTimeoutException
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.Base64),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.Base64),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.Base64),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.Base64),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.Base64),
|
||||
arguments(imageName, ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT, ShellTool.Godzilla, Packers.AgentJar)
|
||||
Server server = Server.WebLogic;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT);
|
||||
Set<Packers> testPackers = Set.of(Packers.Base64);
|
||||
Set<Triple<String, ShellTool, Packers>> unSupportedCases = Set.of(
|
||||
Triple.of(ShellType.SERVLET, ShellTool.Behinder, Packers.Base64), // java.net.SocketTimeoutException
|
||||
Triple.of(ShellType.FILTER, ShellTool.Behinder, Packers.Base64) // java.net.SocketTimeoutException
|
||||
);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, unSupportedCases);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+8
-24
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.weblogic;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,13 +16,13 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -40,27 +41,10 @@ public class WebLogic12214ContainerTest {
|
||||
.withExposedPorts(7001);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.Base64),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.Base64),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.Base64),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.Base64),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.Base64),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.Base64),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.Base64),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.Base64),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.Base64),
|
||||
arguments(imageName, ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.WebLogic;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT);
|
||||
Set<Packers> testPackers = Set.of(Packers.Base64);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+8
-24
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.weblogic;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,13 +16,13 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -40,27 +41,10 @@ public class WebLogic14110ContainerTest {
|
||||
.withExposedPorts(7001);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.Base64),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.Base64),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.Base64),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.Base64),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.Base64),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.Base64),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.Base64),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.Base64),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.Base64),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.Base64),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.Base64),
|
||||
arguments(imageName, ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.WebLogic;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT);
|
||||
Set<Packers> testPackers = Set.of(Packers.Base64);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+6
-22
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.websphere;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -17,6 +18,7 @@ import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -43,28 +45,10 @@ public class WebSphere855ContainerTest {
|
||||
.withPrivilegedMode(true);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.WAS_AGENT_FILTER_MANAGER, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.WAS_AGENT_FILTER_MANAGER, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.WAS_AGENT_FILTER_MANAGER, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.WAS_AGENT_FILTER_MANAGER, ShellTool.Godzilla, Packers.AgentJar)
|
||||
|
||||
);
|
||||
Server server = Server.WebSphere;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.WAS_AGENT_FILTER_MANAGER);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+6
-21
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.websphere;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -17,6 +18,7 @@ import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -43,27 +45,10 @@ public class WebSphere905ContainerTest {
|
||||
.withPrivilegedMode(true);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.WAS_AGENT_FILTER_MANAGER, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.WAS_AGENT_FILTER_MANAGER, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.WAS_AGENT_FILTER_MANAGER, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.WAS_AGENT_FILTER_MANAGER, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.WebSphere;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.WAS_AGENT_FILTER_MANAGER);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+8
-24
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.websphere7;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -17,13 +18,13 @@ import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -43,27 +44,10 @@ public class WebSphere700ContainerTest {
|
||||
.withPrivilegedMode(true);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.WAS_AGENT_FILTER_MANAGER, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.WAS_AGENT_FILTER_MANAGER, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.WAS_AGENT_FILTER_MANAGER, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.WAS_AGENT_FILTER_MANAGER, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.WebSphere;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.WAS_AGENT_FILTER_MANAGER);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+8
-24
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.wildfly;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,13 +16,13 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -41,27 +42,10 @@ public class Wildfly18ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Undertow;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+6
-21
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.wildfly;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,6 +16,7 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -41,27 +43,10 @@ public class Wildfly23ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.Godzilla, Packers.AgentJar)
|
||||
);
|
||||
Server server = Server.Undertow;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+9
-19
@@ -1,9 +1,10 @@
|
||||
package com.reajason.javaweb.integration.wildfly;
|
||||
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
@@ -15,13 +16,13 @@ import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -41,22 +42,11 @@ public class Wildfly30ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.JAKARTA_LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.Behinder, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.Godzilla, Packers.AgentJar)
|
||||
Server server = Server.Undertow;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.JAKARTA_SERVLET, ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers,
|
||||
null, Set.of(ShellTool.AntSword) // AntSword not support jakarta
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
+9
-35
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.wildfly;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -14,7 +15,9 @@ import org.testcontainers.containers.GenericContainer;
|
||||
import org.testcontainers.containers.wait.strategy.Wait;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
import org.testcontainers.shaded.org.apache.commons.lang3.tuple.Triple;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.ContainerTool.*;
|
||||
@@ -44,42 +47,13 @@ public class Wildfly9ContainerTest {
|
||||
.withExposedPorts(8080);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Behinder, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.SERVLET, ShellTool.AntSword, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Behinder, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.FILTER, ShellTool.AntSword, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Behinder, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Godzilla, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Command, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.Suo5, Packers.ScriptEngine),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.JSP),
|
||||
arguments(imageName, ShellType.LISTENER, ShellTool.AntSword, Packers.ScriptEngine),
|
||||
// arguments(imageName, UndertowShell.AGENT_SERVLET_HANDLER, ShellTool.AntSword, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.Godzilla, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.Command, Packers.AgentJar),
|
||||
arguments(imageName, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.Behinder, Packers.AgentJar)
|
||||
Server server = Server.Undertow;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.UNDERTOW_AGENT_SERVLET_HANDLER);
|
||||
Set<Packers> testPackers = Set.of(Packers.JSP, Packers.JSPX, Packers.ScriptEngine);
|
||||
Set<Triple<String, ShellTool, Packers>> unSupportedCases = Set.of(
|
||||
Triple.of(ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.AntSword, Packers.AgentJar) // Request ClassNotFound in module
|
||||
);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, unSupportedCases);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+6
-5
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.xxljob;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.Packers;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
import com.reajason.javaweb.memshell.ShellTool;
|
||||
@@ -15,12 +16,12 @@ import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
import static com.reajason.javaweb.integration.ShellAssertionTool.testShellInjectAssertOk;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.params.provider.Arguments.arguments;
|
||||
|
||||
/**
|
||||
* @author ReaJason
|
||||
@@ -38,10 +39,10 @@ public class XxlJob220ContainerTest {
|
||||
.withExposedService("executor", 9999);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.NETTY_HANDLER, ShellTool.Command, Packers.XxlJob),
|
||||
arguments(imageName, ShellType.NETTY_HANDLER, ShellTool.Godzilla, Packers.XxlJob)
|
||||
);
|
||||
Server server = Server.XXLJOB;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.NETTY_HANDLER);
|
||||
Set<Packers> testPackers = Set.of(Packers.XxlJob);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
+6
-4
@@ -1,5 +1,6 @@
|
||||
package com.reajason.javaweb.integration.xxljob;
|
||||
|
||||
import com.reajason.javaweb.integration.TestCasesProvider;
|
||||
import com.reajason.javaweb.memshell.ShellType;
|
||||
import com.reajason.javaweb.memshell.server.XxlJobShell;
|
||||
import com.reajason.javaweb.memshell.Server;
|
||||
@@ -16,6 +17,7 @@ import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
|
||||
@@ -39,10 +41,10 @@ public class XxlJob230ContainerTest {
|
||||
.withExposedService("executor", 9999);
|
||||
|
||||
static Stream<Arguments> casesProvider() {
|
||||
return Stream.of(
|
||||
arguments(imageName, ShellType.NETTY_HANDLER, ShellTool.Command, Packers.XxlJob),
|
||||
arguments(imageName, ShellType.NETTY_HANDLER, ShellTool.Godzilla, Packers.XxlJob)
|
||||
);
|
||||
Server server = Server.XXLJOB;
|
||||
Set<String> supportedShellTypes = Set.of(ShellType.NETTY_HANDLER);
|
||||
Set<Packers> testPackers = Set.of(Packers.XxlJob);
|
||||
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
|
||||
Reference in New Issue
Block a user