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

最后修改:2020 年 08 月 26 日
如果觉得我的文章对你有用,请随意赞赏