zoukankan      html  css  js  c++  java
  • 漏洞复现:ActiveMQ任意文件写入漏洞(CVE-2016-3088)

    一、漏洞描述

    该漏洞出现在fileserver应用中,漏洞原理:ActiveMQ中的fileserver服务允许用户通过HTTP PUT方法上传文件到指定目录。Fileserver支持写入文件(不解析jsp),但是支持移动文件(Move)我们可以将jsp的文件PUT到Fileserver下,然后再通过Move指令移动到可执行目录下访问。

    二、影响版本

    Apache ActiveMQ 5.0.0 - 5.13.2

    三、环境搭建

    1、下载vulhub源码,下载链接:

    2、下载安装好docker服务,使用docker-compose up -d启动环境即可

     四、漏洞复现

    1、使用默认账号密码admin,打开浏览器访问靶场:http://your-ip:8161/admin/test/systemProperties.jsp,查看ActiveMQ的绝对路径:

     

    2、知道ActiveMQ版本之后,可以打开Burpsuite,访问fileserver目录进行抓包,在BP中将传输模式,修改数据包,改为PUT,目录后加上想要上传的文件名,提交数据中写入任意测试字符,返回包响应头为204一般就是上传成功

     

     访问1.txt,确定成功上传

     3、存在任意文件上传,可以直接getshell,重新发包,传输文件名shell.jsp,传输一个jsp的webshell,我使用的是哥斯拉生成的webshell,返回204说明传输成功

     访问之后,发现无法执行没有解析

     4、查询资料得知,传输的默认目录是没有解析权限的,所以需要将shell文件移动到存在权限的目录中,这就用到第一步得到的绝对路径了,使用MOVE方式,将shell传输到/opt/activemq/webapps/api/目录中,返回包返回204说明移动成功

     访问http://10.10.114.184:8161/api/shell.jsp,成功访问,说明成功移动

     利用哥斯拉进行连接,成功getshell,因为ActiveMQ的api目录是需要认证的,所以在哥斯拉中添加数据时候,需要写入请求参数

     

     5、getshell证明

     完

  • 相关阅读:
    Eclipse / android studio 添加第三方jar包 步骤
    Android checkbox 自定义点击效果
    Android 程序打包和安装过程
    Android 基础
    (转)Genymotion安装virtual device的“unable to create virtual device, Server returned Http status code 0”的解决方法
    (转)eclipse 导入Android 项目 步骤
    微信开放平台注册 步骤
    Android Studio 初级安装
    数组
    作用域问题代码
  • 原文地址:https://www.cnblogs.com/sym945/p/14212373.html
Copyright © 2011-2022 走看看