用途
本技能用于在获得书面授权的渗透测试与安全审计中,通过强制浏览(Forced Browsing)发现并访问未受保护的页面、API 和管理接口。其核心目标是验证认证控制是否在所有应用端点上一致执行,识别隐藏的管理页面、备份文件、配置文件以及遗留的调试接口。
主要能力
- 使用 ffuf、Gobuster 等工具对目录、文件与 API 端点进行枚举,发现未在导航中链接的隐藏路径。
- 探测常见管理路径(如 /admin、/wp-admin、/phpmyadmin、/manager)与调试接口(如 /console、/actuator、/swagger-ui、/graphql)。
- 对比未认证与已认证请求的响应,判断认证是否被强制执行。
- 测试基于 HTTP 方法的认证绕过,包括 PUT、DELETE、PATCH、OPTIONS、HEAD、TRACE 以及 X-HTTP-Method-Override 等头部。
- 测试路径规范化与 URL 解析差异导致的绕过,如大小写变化、./ 与 ../、URL 编码、双编码、分号、尾部字符与空字节。
- 发现备份与配置文件(.bak、.old、.env、.git/config、web.config、wp-config.php.bak 等)以及 Git 仓库暴露。
- 按指定格式输出发现报告,包含路径、状态码、是否需认证、内容与影响,并给出修复建议。
使用方式
该技能以工作流形式组织,分为六个步骤:
- 使用 ffuf 或 Gobuster 枚举隐藏目录与文件,指定状态码过滤与输出格式。
- 发现管理与调试接口,枚举常见管理路径、API 端点,并检查 Spring Boot Actuator 端点。
- 测试已发现端点上的认证执行情况,通过 curl 对比未认证与已认证请求的状态码与响应大小。
- 测试基于 HTTP 方法的认证绕过,遍历不同方法并尝试方法覆盖头部。
- 测试路径遍历与 URL 规范化绕过,尝试多种路径变体与编码方式。
- 发现备份与配置文件,使用扩展名枚举并手动检查常见敏感文件与 Git 仓库暴露。
前置条件
- 授权:覆盖目录枚举的书面渗透测试协议。
- 工具:ffuf(go install github.com/ffuf/ffuf/v2@latest)、Gobuster(apt install gobuster)、Burp Suite、SecLists 字典(git clone https://github.com/danielmiessler/SecLists.git)。
- 目标访问:网络连通性以及用于认证对比的有效测试凭据。
适用场景
- 授权渗透测试中,发现隐藏或未受保护的管理页面。
- 测试认证是否在所有应用端点上一致执行。
- 识别生产环境中遗留的备份文件、配置文件与调试接口。
- 评估本应要求认证的 API 端点上的访问控制。
- 安全审计中验证所有敏感资源是否执行会话校验。
限制
本技能仅限在获得明确书面授权的渗透测试与安全审计中使用。资料未提供关于具体目标环境、法律合规要求、工具版本兼容性或测试时间窗口的更多信息。