写入文件_漏洞复现:ActiveMQ任意文件写入漏洞(CVE20163088)

本文详细介绍了如何复现ActiveMQ的文件写入漏洞(CVE20163088),包括漏洞原理、影响版本、环境搭建步骤、漏洞复现过程以及利用方法,最终成功获取远程shell。
摘要由CSDN通过智能技术生成

文章说明

漏洞复现是为了学习漏洞利用所写,漏洞都是互联网上以流传已久的各种漏洞的利用及原理,用来增强自己见识,培养自己动手能力,有兴趣的朋友可自行搭建环境练习。源码下载连接在文章最后。

漏洞说明

该漏洞出现在fileserver应用中,漏洞原理:ActiveMQ中的fileserver服务允许用户通过HTTP PUT方法上传文件到指定目录。Fileserver支持写入文件(不解析jsp),但是支持移动文件(Move)我们可以将jsp的文件PUT到Fileserver下,然后再通过Move指令移动到可执行目录下访问。

影响版本

Apache ActiveMQ 5.0.0 - 5.13.2

环境搭建

1、下载vulhub源码,下载链接:

2、下载安装好docker服务,使用docker-compose up -d启动环境即可

234dab994b51f8c533271816a95fe429.png

漏洞复现

1、使用默认账号密码admin,打开浏览器访问靶场:http://your-ip:8161/admin/test/systemProperties.jsp,查看ActiveMQ的绝对路径:

a9c866df7d9c4c116fc20bcfe3e82e84.png 0b3210490836fc80c599726419f8392a.png

2、知道ActiveMQ版本之后,可以打开Burpsuite,访问fileserver目录进行抓包,在BP中将传输模式,修改数据包,改为PUT,目录后加上想要上传的文件名,提交数据中写入任意测试字符,返回包响应头为204一般就是上传成功

41b5831dd0b7b411c34ddea7ef08f64f.png访问1.txt,确定成功上传

27850c4d5ab8dc2f28c792f1fc04f17b.png3、存在任意文件上传,可以直接getshell,重新发包,传输文件名shell.jsp,传输一个jsp的webshell,我使用的是哥斯拉生成的webshell,返回204说明传输成功

52f7fec1dd4592c751b5563534beae31.png访问之后,发现无法执行没有解析

fb11b01b9d84cba6f7ce3c046e4754bf.png4、查询资料得知,传输的默认目录是没有解析权限的,所以需要将shell文件移动到存在权限的目录中,这就用到第一步得到的绝对路径了,使用MOVE方式,将shell传输到/opt/activemq/webapps/api/目录中,返回包返回204说明移动成功

5fbf3b449868fb3946d2949321bde61f.png访问http://10.10.114.184:8161/api/shell.jsp,成功访问,说明成功移动

c88f947b92aaf9625453fafbae7f3360.png利用哥斯拉进行连接,成功getshell,因为ActiveMQ的api目录是需要认证的,所以在哥斯拉中添加数据时候,需要写入请求参数cefaf903485984112f5414743bb4ee94.png6b12bd7f289e22538eb1bc81aa7f826d.png

5、getshell证明

3ef9a52f365ea2bac112b82f5441eda4.png

7862578584baff3c6a4a96f3ce8df9a0.png

 完

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值