用途
本技能用于识别和利用文件路径遍历(目录遍历)漏洞。此类漏洞允许攻击者读取服务器上的任意文件,可能包括敏感配置文件、凭据和源代码。当用户可控输入在未经适当验证的情况下被传递给文件系统 API 时,就会产生该漏洞。
主要能力
- 识别应用中可能处理文件操作的遍历点(如 file、path、page、template、filename、download、view 等参数)。
- 执行基础路径遍历利用,包括 Linux 与 Windows 路径、URL 编码与双重编码。
- 使用多种绕过技术,应对剥离遍历序列、扩展名校验、基础目录校验和黑名单过滤。
- 针对 Linux 与 Windows 的高价值目标文件进行读取测试。
- 使用 Burp Suite、ffuf、wfuzz 进行自动化测试。
- 将本地文件包含(LFI)升级为远程代码执行(RCE),包括日志投毒、/proc/self/environ 注入和 PHP 包装器利用。
- 提供结构化测试方法论与防护措施建议。
使用方式
技能按阶段组织工作流:
- 理解路径遍历原理与影响。
- 识别遍历点,映射潜在文件操作参数与功能。
- 基础利用:简单遍历、绝对路径注入,使用 curl 测试载荷。
- 绕过技术:针对剥离、扩展名校验、基础目录校验和黑名单过滤的绕过。
- Linux 目标文件:系统文件、SSH 文件、Web 服务器文件、应用文件、进程信息、常见应用配置。
- Windows 目标文件:系统文件、IIS 文件、配置文件、用户文件。
- 自动化测试:Burp Suite Intruder、ffuf、wfuzz 的使用步骤与命令。
- LFI 到 RCE 升级:日志投毒、/proc/self/environ、PHP 包装器(php://filter、php://input、data://、expect://)。
- 测试方法论:从识别参数到尝试包装器利用与日志投毒的结构化步骤。
- 防护措施:PHP 与 Python 的安全编码示例。
技能还提供快速参考,包括常用载荷、目标文件与编码变体表格。
适用场景
- 授权渗透测试中验证路径遍历漏洞。
- Web 应用安全评估中检查文件读取类功能。
- 安全培训与 CTF 场景中练习目录遍历利用与 LFI 升级。
限制
- 权限限制:无法读取应用用户无权访问的文件;shadow 文件需要 root 权限;许多文件有严格权限。
- 应用限制:扩展名校验可能限制文件类型;基础路径校验可能限制范围;WAF 可能拦截常见载荷。
- 测试注意事项:需遵守授权范围;避免访问真正敏感的数据;记录所有成功访问。
- 故障排查:无响应差异时可尝试不同编码、盲遍历、不同目标文件或查看错误信息;载荷被拦截时可使用编码变体、嵌套遍历、大小写变体或包装器协议;无法升级到 RCE 时可检查日志文件可访问性、PHP 包装器支持、文件上传功能或会话文件投毒。