feat: support asm relocate to ignore server inner asm

This commit is contained in:
ReaJason
2025-03-30 15:33:31 +08:00
parent 52b8000bc7
commit e8124c02cc
10 changed files with 106 additions and 40 deletions
@@ -60,9 +60,9 @@ public class GlassFish3ContainerTest {
List<String> supportedShellTypes = List.of(
ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE,
ShellType.AGENT_FILTER_CHAIN,
// ShellType.AGENT_FILTER_CHAIN_ASM, 内置了 asm 但是版本太低
ShellType.CATALINA_AGENT_CONTEXT_VALVE
// ShellType.CATALINA_AGENT_CONTEXT_VALVE_ASM
ShellType.AGENT_FILTER_CHAIN_ASM,
ShellType.CATALINA_AGENT_CONTEXT_VALVE,
ShellType.CATALINA_AGENT_CONTEXT_VALVE_ASM
);
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize);
List<Triple<String, ShellTool, Packers>> unSupportedCases = List.of(
@@ -53,8 +53,8 @@ public class Payara5201ContainerTest {
Server server = Server.Payara;
List<String> supportedShellTypes = List.of(
ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE,
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE
// ShellType.AGENT_FILTER_CHAIN_ASM, ShellType.CATALINA_AGENT_CONTEXT_VALVE_ASM // 内置了 ASM,但是版本较低,是 7 版本不兼容
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE,
ShellType.AGENT_FILTER_CHAIN_ASM, ShellType.CATALINA_AGENT_CONTEXT_VALVE_ASM
);
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize, Packers.ScriptEngine);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
@@ -53,8 +53,8 @@ public class WebLogic14110ContainerTest {
Server server = Server.WebLogic;
List<String> supportedShellTypes = List.of(
ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER,
ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT
// ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT_ASM // 内置 ASM,但只有 7.1 版本
ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT,
ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT_ASM
);
List<Packers> testPackers = List.of(Packers.Base64);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);