• 漏洞复现: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证明

     完

  • 相关阅读:
    Mac 如何让python默认运行python3.8
    python发送post请求(转)
    Qt 学习(4)
    自定义Qt组件-通讯模块(P3)
    自定义Qt组件-通讯模块(P2)
    自定义Qt组件-通讯模块(P1)
    用 JS 做一个数独游戏(二)
    用 JS 做一个数独游戏(一)
    公交车情况数问题
    传球问题
  • 原文地址:https://www.cnblogs.com/sym945/p/14212373.html
Copyright © 2020-2023  润新知