漏洞概述 漏洞名称: danpros htmlY v3.1.1 /system/admin/admin.php Arbitrary File Move via rename() (CWE-22) #6 漏洞类型: 路径遍历 / 任意文件移动 (CWE-22) 受影响产品: htmlY — Databaseless Blogging Platform (Flat-File CMS) 受影响版本: v3.1.1 (latest) 漏洞根因: 函数在 中接收直接来自 的 参数,并将其传递给 PHP 的 函数,未进行任何路径验证。 影响范围 影响描述: 经过身份验证的攻击者可以从 PHP 进程可访问的任何位置移动任意文件到应用程序的内容目录。这可以用于: - 覆盖关键应用程序文件(例如,配置文件) - 将敏感文件(例如,.env,备份文件)移动到 Web 可访问的目录以进行信息泄露 - 通过重新定位必需文件破坏应用程序功能 修复方案 1. 验证文件路径: 使用 解析 并验证其是否在预期的内容目录内。 2. 使用 : 在用户提供的路径上使用 ,仅提取文件名组件以防止路径遍历。 3. 限制源目录: 仅允许 操作的源路径在 或其他白名单目录内。 4. 不接受绝对路径: 拒绝包含 或 的 值。 POC 代码 攻击场景 1. 使用任何有效用户账户登录。 2. 发送上述 POST 请求,其中 指向使用路径遍历的敏感服务器文件( )。 3. 文件被移动( )到内容目录,使其可通过 Web 访问。 替代载荷(移动配置到内容目录)