ActiveMQ任意文件写入漏洞(CVE-2016-3088)
一、漏洞描述
这个漏洞出现在fileserver应用中,fileserver是一个RESTful API的接口,我们可以通过GET、PUT、DELETE等HTTP请求对其存储的文件进行读写操作,由于其使用率和容易出现漏洞的原因,所以在ActiveMQ5.12.x-5.13.x版本中默认关闭了fileserver。
这个漏洞利用的原理是fileserver支持文件写入(不解析jsp)以及支持文件的移动,所以我们漏洞利用的过程就是上传文件然后将文件移动到指定位置。
可以使用的方法:
- 写入webshll
- 写入cron或ssh key文件
- 写入jar或jetty.xml等库和配置文件
二、漏洞环境
这里的环境使用的是Vulhub的Docker环境,我们直接在搭建好的环境中,进入漏洞的目录下使用docker-compose up -d
即可启动环境。
三、漏洞复现
写入webshell
使用这种方式来完成漏洞的利用需要我们登录之后才能访问,这里我们为了完成漏洞的利用,假定我们是已经获取登录状态,在我们的环境里默认的账户密码均为admin。
1.我们首先访问http://192.168.252.170:8161/admin/test/systemProperties.jsp
,在这里我们可以看到ActiveMQ的绝对路径:
2.接着我们就上传shell文件
3.上传完成之后,我们可以I在浏览器中访问我们的webshell,现在还是txt格式,我们可以看到其内容:
4.上传完成之后,我们通过已经知道的物理路径来移动我们的webshell,将其移动到/opt/activemq/webapps/api/s.jsp
中:
5.接着我们访问相应位置的链接即可http://192.168.252.170:8161/api/3.jsp
: