Closed CaledoniaProject closed 2 years ago
Is the exploited target also using the same Java version? This is the relevant version, not the one you run the server with. Also add a trailing slash to the classpath URL, otherwise this will try to load a JAR file at that location.
Yes, same version running on the same host. Attached jstack on the rmiClient: jstack.txt
Ah, I did not closely look at the client code the first time. Directly performing a Registry lookup will not trigger resolving the Reference, only if you do the lookup through JNDI. E.g. something like `new InitialContext().lookup("rmi://127.0.0.1/test"). Also no need to a add .class to the fragment when starting RMIRefServer, that should just be the classname.
Indeed. I've created another java app and confirmed it. Thanks!
I have a simple rmi client:
And I started the reference server with JDK8u11
When I invoke the rmi client, marshalsec outputs the following:
No request is sent to http://127.0.0.1 (from nginx access log) and the rmi client is stuck.
What was wrong? FYI:
ysoserial.exploit.JRMPListener
works fine