SuperAPI AI 工具集

file-path-traversal

安全与审计

查看项目

更新于 10-15 15:29

技能介绍

用途

文件路径遍历测试用于识别并利用文件路径遍历(目录遍历)漏洞。当应用把用户可控输入写入文件系统 API 前未进行充分校验时,就可能出现该漏洞,攻击者可读取预期目录之外的文件,可能涉及敏感配置、凭据与源代码。

本技能仅限授权用途:仅可用于获得授权的安全评估、防御性验证或受控教学环境。

前提条件

所需工具:带开发者工具的 Web 浏览器;Burp Suite 或 OWASP ZAP;用于测试载荷的 cURL;用于自动化的字典;用于模糊测试的 ffuf 或 wfuzz。

所需知识:HTTP 请求/响应结构;Linux 与 Windows 文件系统布局;Web 应用架构;对文件 API 的基础理解。

产出与交付物

漏洞报告(已识别的遍历点与严重性)、利用证据(提取到的文件内容)、影响评估(可访问文件与数据暴露情况)、修复建议(安全编码建议)。

核心工作流

第一阶段:理解路径遍历。应用使用用户输入构造文件路径时,攻击者通过 ../ 序列向上移动目录、串联多个序列到达根目录,从而访问预期目录之外的文件。影响包括机密性(读取敏感文件)、完整性(写入/修改文件,部分情况)、可用性(删除文件,部分情况),若与文件上传或日志投毒结合还可能执行代码。资料含一段存在漏洞的 PHP 代码示例。

第二阶段:识别遍历点。关注常处理文件的参数,如 file、path、page、template、filename、doc、document、folder、dir、include、src、source、content、view、download、load、read、retrieve 等。常见易受攻击的功能包括图片加载、模板选择、文件下载、文档查看、包含机制等。

第三阶段:基础利用技术。包括简单路径遍历(Linux 与 Windows 的 ../ 序列、URL 编码、双重编码,使用 curl 测试)、绝对路径注入(Linux 与 Windows 的直接绝对路径)。

第四阶段:绕过技术。涵盖绕过被剥离的遍历序列(....//、嵌套遍历、混合编码)、绕过扩展名校验(空字节注入、路径截断、双扩展名)、绕过基础目录校验(在期望路径前后拼接遍历)、绕过黑名单过滤(Unicode/UTF-8 编码、过长 UTF-8 编码、URL 编码变体、Windows 大小写变体)。

第五阶段:Linux 目标文件。列出系统文件(如 /etc/passwd、/etc/shadow、/etc/group、/etc/hosts、/etc/hostname、/etc/issue)、SSH 文件、Web 服务器文件、应用文件、进程信息(/proc/self/environ 等)、常见应用配置等。

第六阶段:Windows 目标文件。列出系统文件(win.ini、system.ini、boot.ini、hosts、SAM 等)、IIS 文件、配置文件、用户文件等。

第七阶段:自动化测试。给出使用 Burp Suite、ffuf、wfuzz 的具体操作步骤与命令示例。

第八阶段:LFI 到 RCE 升级。涵盖日志投毒、Proc/self/environ 注入、PHP Wrapper 利用(php://filter 读取源码、php://input、data://、expect://)。

第九阶段:测试方法论。给出结构化测试步骤:识别潜在参数、测试基础遍历、测试编码变体、测试绕过技术、测试绝对路径、测试空字节(遗留场景)、尝试 Wrapper 利用、尝试日志投毒实现 RCE。

第十阶段:防护措施。提供 PHP 与 Python 的安全编码示例:使用 basename() 剥离路径、白名单校验、规范化并校验基础路径、使用 realpath 并验证文件位于基础目录内。

快速参考

常见载荷:../../../etc/passwd(Linux 密码文件)、........\windows\win.ini(Windows INI 文件)、....//....//....//etc/passwd(绕过简单过滤)、/etc/passwd(绝对路径)、php://filter/convert.base64-encode/resource=config.php(源代码)。

目标文件:Linux 的 /etc/passwd、/etc/shadow、/proc/self/environ;Windows 的 C:\windows\win.ini、C:\boot.ini;Web 的 wp-config.php。

编码变体:URL 编码 %2e%2e%2f;双重编码 %252e%252e%252f;Unicode %c0%af;空字节 %00。

约束与限制

权限限制:无法读取应用用户无权访问的文件;shadow 文件需 root 权限;许多文件有严格权限。应用限制:扩展名校验可能限制文件类型;基础路径校验可能限制范围;WAF 可能拦截常见载荷。测试注意事项:遵守授权范围;避免访问真正敏感的数据;记录所有成功的访问。

故障排查

无响应差异:尝试编码、盲遍历、不同文件。载荷被拦截:使用编码变体、嵌套序列、大小写变体。无法升级到 RCE:检查日志、PHP 包装器、文件上传、会话投毒。

适用时机

本技能适用于执行概述中描述的工作流或操作。