Skip to content

Commit 812bf7c

Browse files
committed
test: add probe no magic prefix
1 parent 122d747 commit 812bf7c

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

integration-test/src/test/java/com/reajason/javaweb/integration/ProbeAssertion.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,34 @@ public static void responseBytecodeIsOk(String url, String server, int targetJre
4949
}
5050
}
5151

52+
@SneakyThrows
53+
public static void responseBytecodeWithoutPrefixIsOk(String url, String server, int targetJreVersion) {
54+
ProbeConfig probeConfig = ProbeConfig.builder()
55+
.probeMethod(ProbeMethod.ResponseBody)
56+
.probeContent(ProbeContent.Bytecode)
57+
.targetJreVersion(targetJreVersion)
58+
.debug(true)
59+
.shrink(true)
60+
.build();
61+
String reqParamName = "payload";
62+
ResponseBodyConfig responseBodyConfig = ResponseBodyConfig.builder()
63+
.server(server)
64+
.reqParamName(reqParamName)
65+
.build();
66+
ProbeShellResult probeResult = ProbeShellGenerator.generate(probeConfig, responseBodyConfig);
67+
RequestBody requestBody = new FormBody.Builder()
68+
.add("data", probeResult.getShellBytesBase64Str())
69+
.add(reqParamName, DetectionTool.getServerDetection().replace("yv66vgAAAD", ""))
70+
.build();
71+
Request request = new Request.Builder()
72+
.header("Content-Type", "application/x-www-form-urlencoded")
73+
.url(url + "/b64").post(requestBody)
74+
.build();
75+
try (Response response = new OkHttpClient().newCall(request).execute()) {
76+
assertEquals(server, response.body().string());
77+
}
78+
}
79+
5280
@SneakyThrows
5381
public static void responseCommandIsOk(String url, String server, int targetJreVersion) {
5482
ProbeConfig probeConfig = ProbeConfig.builder()

integration-test/src/test/java/com/reajason/javaweb/integration/probe/tomcat/Tomcat8ContainerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,6 @@ void testCommandReqHeaderResponseBody() {
6969
void testBytecodeReqParamResponseBody() {
7070
String url = getUrl(container);
7171
ProbeAssertion.responseBytecodeIsOk(url, Server.Tomcat, Opcodes.V1_8);
72+
ProbeAssertion.responseBytecodeWithoutPrefixIsOk(url, Server.Tomcat, Opcodes.V1_8);
7273
}
73-
7474
}

0 commit comments

Comments
 (0)