写在前面:合法学习边界
目录爆破只允许在授权目标进行。对非授权站点大量请求可能触犯法律、影响服务。
一、原理
Web 服务器对目录/文件存在与否的响应不同(200/403/404)。目录爆破就是用字典批量请求路径,通过响应差异找出隐藏的目录、备份文件、后台和接口。
1
2
| 字典里的路径 → 逐个请求 → 按状态码筛选
常见目标:后台、.git、备份.zip、.env、日志、上传目录
|
二、影响与危害
1
2
3
| 发现隐藏后台与未授权接口
找到备份/源码/.git 泄露
扩大攻击面、配合其他漏洞
|
风险等级:中到高(信息收集关键一步)。
三、利用 / 复现
dirsearch 基础
1
2
3
4
5
6
7
8
| # 基础扫描
dirsearch -u http://目标/
# 指定字典与扩展名
dirsearch -u http://目标/ -w /usr/share/wordlists/dirb/common.txt -e php,zip,bak,git
# 过滤与递归
dirsearch -u http://目标/ -x 403,500 --recursive
# 保存结果
dirsearch -u http://目标/ -o result.txt
|
ffuf 模糊测试
1
2
3
4
5
6
7
8
9
10
11
| # 目录爆破(FUZZ 占位)
ffuf -u http://目标/FUZZ -w 字典.txt -mc 200,301,302
# 扩展名探测
ffuf -u http://目标/FUZZ -w 字典.txt -e .php,.zip,.bak
# 递归
ffuf -u http://目标/FUZZ/FUZZ -w 字典.txt -mc 200
# 参数/值模糊(接口测试)
ffuf -u http://目标/api?file=FUZZ -w 文件列表.txt -mc 200
|
结果筛选
1
2
| 重点看 200/301/302 与 403 中的非常规路径
优先验证:/.git/、/backup/、/.env、/admin、/upload/、/api/
|
四、检测
1
2
3
4
| 日志中同一来源大量 404/异常路径请求
请求频率异常高(目录爆破特征)
字典特征路径(.git、backup.zip、admin 等)
WAF/告警平台触发暴力探测规则
|
五、防御
1
2
3
4
| 关闭目录列表
隐藏敏感路径,做访问控制
对高频 404/暴力探测限速与封禁
上传/备份目录不放在 Web 根目录
|
六、加固(修复)
1
2
3
4
| 移除/隐藏备份与源码文件
对后台和敏感接口加认证
部署 WAF 拦截目录爆破特征
修复后复测:敏感路径不可被枚举
|
完整操作步骤
1
2
3
4
5
| 第 1 步:选对字典(通用/技术栈/语言)
第 2 步:dirsearch 基础扫描,过滤 403/500
第 3 步:加扩展名(php/zip/bak/git)
第 4 步:ffuf 对参数/值做模糊测试
第 5 步:重点验证高价值路径(.git/.env/backup/admin)
|
七、小结
目录爆破是 Web 渗透信息收集的“必做动作”。dirsearch 简单直接,ffuf 更灵活(能做参数模糊)。关键是用对字典、过滤状态码、验证高价值路径,而不是盲目跑一大圈。