目录探测的边界在哪里
目录探测用字典去请求一批常见路径,看服务器返回 200、403 还是 302,从而发现未在导航里出现的入口。它的技术门槛低但影响面容易失控:字典越大、并发越高,产生的业务日志、WAF 告警和性能开销就越大,而收益并不会线性增长。正确做法是小字典抽样加显式限速,命中敏感目录后只记录,不深入访问内容。
基本信息
| 常用工具 | dirsearch、ffuf、gobuster(Linux/macOS/Windows 均可运行) |
|---|---|
| 字典规模 | 抽样场景控制在数百条常用项以内 |
| 关键参数 | 并发线程数、请求间隔、超时、禁用重定向跟随 |
| 版本差异 | 各工具默认线程数差异大,需显式设置 |
| 边界 | 命中即记录路径与状态码,不遍历内容 |
典型使用场景
- 补齐入口清单:导航与文档里看不到的后台、上传、导出目录
- 验证部署残留:测试页面、示例程序、默认安装目录
- 配合 robots 与站点地图交叉验证声明的路径是否真实存在
- 评估目录与文件的权限控制是否一致(同一批路径的状态码分布)
- 修复验证:清理后确认敏感路径已返回 404 或 403
保守探测参数
保守探测参数
# 小字典 + 低并发 + 显式间隔,优先保证业务稳定
ffuf -u https://example.com/FUZZ -w small.txt -t 10 -p 0.2-0.5 -mc 200,301,302,401,403 -o ffuf.json
dirsearch -u https://example.com --wordlist small.txt --threads 5 --delay 0.2 --exclude-status 404
# 命中后:只记录路径、状态码、响应大小,不下载也不继续展开目录
# 记录时间窗口,便于与客户的 WAF 告警日志对齐状态码与判断
| 状态码 | 含义 | 处置 |
|---|---|---|
| 200 | 路径存在且可直接访问 | 记录并交由客户确认用途 |
| 403 | 存在但被拒绝 | 记录为受控资源,风险较低 |
| 302 或 301 | 存在重定向 | 跟踪一次重定向目标,判断是否为登录页 |
| 404 与 200 混杂 | 存在自定义 404 页面 | 需按响应大小与指纹区分,避免误报 |
探测的目的是发现暴露面,不是收集文件:命中敏感目录后的第一动作是记录,第二动作是与客户确认用途,而不是打开看内容。
大字典加高并发属于典型的「不必要高风险」操作:容易被 WAF 判定为扫描攻击并封禁出口 IP,还可能影响业务系统性能。