关键漏洞信息 受影响产品 Simple Forum 漏洞文件 /forum_downloadfile.php 影响版本 V1.0 漏洞类型 任意文件下载(路径遍历) 根因 文件接受 GET 参数,并直接在文件系统操作中使用它来读取和返回文件给客户端。没有对路径进行任何验证或限制,允许攻击者提供相对路径(如: )并访问服务器文件系统的任意文件。 影响 成功利用此漏洞可使攻击者下载服务器上的任意文件,包括: - (源代码泄露) - (数据库凭证) - (仅限 UNIX 系统) - 日志文件、凭据存储和 SSH 密钥(如果可读) 描述 在分析 Simple Forum 项目时,在 脚本中发现了一个任意文件下载漏洞。应用程序未验证或清理通过 URL 查询字符串传递的 参数,允许攻击者构造恶意请求执行目录遍历,使用序列如 访问预期下载目录之外的文件。 认证要求 需要有效会话(PHPSESSID),默认登录凭证为: - 用户名: - 密码: 漏洞参数 (GET) PoC 建议修复 1. 限制文件路径:禁用路径遍历序列如 使用 basename/path 规范化技术。 2. 使用白名单:仅允许下载已知安全文件从固定目录使用预定义白名单或安全文件 ID 映射。 3. 将文件存储在 Web 根目录外:确保可下载文件存储在受控、非敏感位置并具有适当权限。 4. 实施访问控制:验证认证用户有权访问请求的文件。 5. 记录和监控访问:记录所有下载尝试并对可疑文件路径模式设置警报。 6. 进行定期代码审查:审查文件处理逻辑并在开发和审计过程中消除直接文件系统暴露。