文章总结: 本文讲解dirsearch工具的正确使用方法,涵盖使用时机、语法参数配置、自定义字典优势及状态码筛选处理。建议在子域名收集后进行路径扫描,通过自定义字典提高效率,根据状态码分类结果进行后续测试,如对401/403使用BypassPro绕过、对302测试URL跳转漏洞。强调应结合需求优化工具使用流程,提升测试效率。
综合评分: 68
文章分类: 安全工具,渗透测试,WEB安全,实战经验,SRC活动
正确使用dirsearch
原创
游山玩水
游山玩水
山水SRC
2026年3月13日 09:36
河南
概述
本文讲解了在使用dirsearch时的正确用法
①什么时候使用dirsearch
②dirsearch的语法使用
③使用自己的字典扫描
④根据状态码筛选
什么时候使用dirsearch
我使用dirsearch一般在收集完子域名后(测试具体功能点前的无脑测试)
dirsearch在我这里的作用:
发现和枚举目标Web应用程序中可能存在的、未公开或隐藏的敏感路径、文件、管理后台、API接口、配置文件、备份文件以及特定应用(如OA系统、CMS、开发框架)的指纹入口
- 配置文件与敏感文件:旨在发现可能泄露敏感信息的文件,例如源代码配置文件(
config.php、.env)、备份文件(web.zip、index.php.bak)、版本控制目录(.git/、.svn/)以及包含环境信息或调试信息的文件(phpinfo.php)。 - API接口与调试端点:字典列出了常见的API路径(
/api/、/swagger-ui)、框架的Actuator端点(/actuator、/heapdump)以及其他调试、监控接口(/health、/metrics),这些可能未受保护或存在信息泄露风险。
dirsearch的语法使用
python dirsearch.py -l ./urls.txt -w ./all.txt -i 200,301,302,307,401,403,405 -t 10 -r -R 1 -e php,do,action,jsp,html,json
我经过多次修改后的语句
-l ./urls.txt ->txt文件里是https://+子域名(./代表着当前路径)
-w ./all.txt -> 自己的字典路径
-i 200,301,302,307,401,403,405 ->只有这些状态码会存入扫描结果中
- 成功 (200)
- 重定向 (301, 302, 307):提示路径变更或登录跳转。
- 未授权/禁止访问 (401, 403):这些通常意味着找到了受保护资源,是极重要的漏洞线索(如未授权访问)。
- 方法不允许 (405):有时也能透露接口信息。
-t 10 -> 扫描线程(太高容易被检测,太低扫描时间长)
-r -R 1 递归扫描一层(扫描层数多时间太长,性价比低)
-e php,do,action,jsp,html,json ->只检测这些格式的url
使用自己的字典扫描
原因:
①自带的字典太多了,扫描时间长,性价比低(用过都知道扫一个URL扫半天)
②自带的字典扫描国内的网站不太好用(根据你想扫什么东西让AI给你生成文本)
根据状态码筛选
最终扫描结果以txt形式记录
写一个脚本让URL根据状态码分类
脚本目的:将url按照子域名分类,一样的分到一个文件夹,文件夹以子域名命名,之后才是按状态码分类的txt文件
200状态码->200.txt
200状态码的直接测
401/403/405状态码->401.txt
对401.txt使用bypasspro(绕过401/403/405状态码的bp插件)
使用文章见:使用BypassPro进行403/401/405绕过,增加测试范围
开启bypasspro被动扫描时用open multiple urls浏览器插件(批量打开url)
302/301/307状态码->302.txt
对302.txt使用bp的url跳转漏洞测试工具UrlRedirect(如何用自己搜,这个工具不值得写个文章,使用很简单)
最终效果图
总结
一个工具的使用不能只局限于他本身的结果,要根据自身需求对结果内容和格式进行优化,方便测试
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:山水SRC 游山玩水
游山玩水《正确使用dirsearch》