Skip to content

Commit cf75b8b

Browse files
committed
test: fix failed cases
1 parent 762b19b commit cf75b8b

File tree

4 files changed

+53
-1
lines changed

4 files changed

+53
-1
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -412,6 +412,10 @@ public static void testProbeInject(String url, String server, String serverVersi
412412
Pair<String, String> urls = ShellAssertion.getUrls(url, shellType, shellTool, packer);
413413
String shellUrl = urls.getLeft();
414414
String urlPattern = urls.getRight();
415+
if (urlPattern != null) {
416+
shellUrl += "testProbe";
417+
urlPattern += "testProbe";
418+
}
415419
ShellConfig shellConfig = ShellConfig.builder()
416420
.server(server)
417421
.serverVersion(serverVersion)

integration-test/src/test/java/com/reajason/javaweb/integration/probe/glassfish/GlassFish7ContainerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class GlassFish7ContainerTest {
3333
@Container
3434
public static final GenericContainer<?> container = new GenericContainer<>(imageName)
3535
.withCopyToContainer(warJakartaFile, "/usr/local/glassfish7/glassfish/domains/domain1/autodeploy/app.war")
36-
.waitingFor(Wait.forLogMessage(".*deployed.*", 1))
36+
.waitingFor(Wait.forLogMessage(".*(deployed|done).*", 1))
3737
.withExposedPorts(8080);
3838

3939
@AfterAll
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.reajason.javaweb.vul.springboot2.controller;
2+
3+
import org.springframework.web.bind.annotation.PostMapping;
4+
import org.springframework.web.bind.annotation.RequestMapping;
5+
import org.springframework.web.bind.annotation.RestController;
6+
7+
/**
8+
* @author ReaJason
9+
* @since 2025/12/6
10+
*/
11+
@RestController
12+
@RequestMapping("/biginteger")
13+
public class BigIntegerClassLoaderController extends ClassLoader {
14+
static byte[] decodeBigInteger(String bigIntegerStr) throws Exception {
15+
Class<?> decoderClass = Class.forName("java.math.BigInteger");
16+
return (byte[]) decoderClass.getMethod("toByteArray").invoke(decoderClass.getConstructor(String.class, int.class).newInstance(bigIntegerStr, Character.MAX_RADIX));
17+
}
18+
19+
@PostMapping
20+
public void base64ClassLoader(String data) throws Exception {
21+
byte[] bytes = decodeBigInteger(data);
22+
defineClass(null, bytes, 0, bytes.length).newInstance();
23+
}
24+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.reajason.javaweb.vul.springboot2.controller;
2+
3+
import org.springframework.web.bind.annotation.PostMapping;
4+
import org.springframework.web.bind.annotation.RequestMapping;
5+
import org.springframework.web.bind.annotation.RestController;
6+
7+
/**
8+
* @author ReaJason
9+
* @since 2025/12/6
10+
*/
11+
@RestController
12+
@RequestMapping("/biginteger")
13+
public class BigIntegerClassLoaderController extends ClassLoader {
14+
static byte[] decodeBigInteger(String bigIntegerStr) throws Exception {
15+
Class<?> decoderClass = Class.forName("java.math.BigInteger");
16+
return (byte[]) decoderClass.getMethod("toByteArray").invoke(decoderClass.getConstructor(String.class, int.class).newInstance(bigIntegerStr, Character.MAX_RADIX));
17+
}
18+
19+
@PostMapping
20+
public void base64ClassLoader(String data) throws Exception {
21+
byte[] bytes = decodeBigInteger(data);
22+
defineClass(null, bytes, 0, bytes.length).newInstance();
23+
}
24+
}

0 commit comments

Comments
 (0)