项目介绍
Dirsearch 是一款高效、多线程的 Web 路径扫描工具,专为渗透测试人员和网络安全研究人员设计,用于发现目标网站的隐藏目录、敏感文件及未授权接口。其支持自定义字典、代理配置、请求头伪装等功能,适用于红队渗透、漏洞挖掘及资产测绘等场景。
核心功能
- 多线程扫描:默认 20 线程,可自定义调整以提高效率。
- 智能错误处理:自动过滤重复状态码(如 404),降低误报率。
- 灵活扩展支持:
- 支持自定义字典(如
-w指定字典文件)。 - 支持多种扩展名扫描(如
-e php,asp,aspx)。
- 支持自定义字典(如
- 结果输出:生成可读性强的报告(TXT/JSON/CSV),便于后续分析。
- 绕过检测:支持随机 User-Agent、代理池、请求延迟等隐蔽扫描策略。
适用场景
- 红队渗透:快速定位网站后台、敏感文件(如
admin.php、backup.zip)。 - 漏洞验证:发现未授权访问的 API 接口(如
/api/v1/users)。 - 资产梳理:扫描企业网站的暴露面资产(如遗留测试页面)。
安装教程
pip install --upgrade dirsearch
或从源码安装:
python3 setup.py install
确保已安装 Python 环境及 pip 包管理工具。
基础使用
语法及参数
运行 python dirsearch.py -h 可查看帮助信息。常用参数如下:
| 参数 | 说明 |
|---|---|
-u URL | 指定目标 URL |
-l PATH | 从文件读取 URL 列表 |
-w WORDLISTS | 指定字典文件或目录 |
-e EXTENSIONS | 指定扫描扩展名(如 php,html) |
-t THREADS | 设置线程数(默认 20) |
--timeout SEC | 设置请求超时时间 |
--random-agent | 启用随机 User-Agent |
--proxy PROXY | 使用代理服务器 |
-o PATH | 输出结果到文件 |
--format FORMAT | 指定输出格式(json, csv, html 等) |
-x CODES | 排除特定状态码 |
-i CODES | 仅包含特定状态码 |
-r | 递归扫描子目录 |
--delay SEC | 请求间隔延迟 |
常见命令示例
1. 扫描单个目标
python dirsearch.py -u http://example.com -e php,html -t 20
-u:指定目标网址。-e:枚举.php和.html结尾的文件。-t:限制线程数为 20。
示例输出:
[10:00:00] Starting scan...
[10:00:01] 200 - 123B /index.html
[10:00:03] 403 - 456B /admin/
[10:00:05] 200 - 789B /config.php
200:资源存在且可访问。403:资源存在但无权限。404:资源不存在(默认不显示)。
2. 批量扫描
python dirsearch.py -l urls.txt -t 5 -e php
从 urls.txt 读取目标列表进行扫描。
3. 使用自定义字典
python dirsearch.py -u http://example.com -w /path/to/custom_wordlist.txt
使用用户提供的字典文件替代内置字典,提高针对性。
4. 过滤状态码
python dirsearch.py -u http://example.com --exclude-status 403,500
排除 403(禁止访问)和 500(服务器错误)的结果,聚焦有效资源。
5. 添加自定义 HTTP 头
python dirsearch.py -u http://example.com -H "Authorization: Bearer token"
模拟身份验证或绕过 WAF 防护。
6. 代理与延迟控制
python dirsearch.py -u http://example.com --proxy http://127.0.0.1:8080 --delay 2
通过代理隐藏 IP,并设置请求间隔避免触发限流。
7. 递归扫描
python dirsearch.py -u http://example.com --recursive -R 3
深度为 3 的递归扫描,深入探索目录结构。
8. 导出报告
python dirsearch.py -u http://example.com -o report.json --format json
将结果保存为 JSON 格式以便后续分析。
CTF 场景实战
在 CTF 比赛中,重点在于发现备份文件、配置文件及敏感目录。
python dirsearch.py -u http://目标网址 -e * -r -x 404 --full-url
-e *:扫描所有常见后缀。-r:递归扫描。-x 404:排除无效路径。--full-url:显示完整 URL。
重点关注:
- 状态码 200:直接存在的文件/目录。
- 备份文件:如
index.php~、.swp文件。 - 压缩包:如
backup.zip、source.tar.gz。 - robots.txt:可能暴露敏感路径。
注意事项
- 合法合规:仅对授权目标使用,未经允许扫描他人网站可能违法。
- 频率控制:避免频繁扫描导致被 WAF 拦截,建议调整线程数或增加延迟。
- 字典优化:根据目标 CMS 类型选择专用字典提升效率。
- 结果分析:结合响应大小和内容判断资源有效性。

