信息收集系列(六):路径爬取与目录爆破
内容预览 ≧∀≦ゞ
- 信息收集系列(六):路径爬取与目录爆破
- 前言
- 路径爬取
- 常用工具与操作步骤
- Burp Suite Pro
- Katana
- Hakrawler
- Gospider
- Gau (GetAllUrls)
- Oxdork
- 路径爬取的核心价值
- 目录爆破
- 常用工具
- Feroxbuster
- Dirsearch
- 字典选取
- 多级路径爆破建议
- 总结
信息收集系列(六):路径爬取与目录爆破
前言
在信息收集的过程中,路径爬取(爬虫)与目录爆破是获取隐藏资源和潜在漏洞的两种核心方法。本篇将结合工具和实际经验,深入解析如何高效进行路径爬取与目录爆破,从而快速挖掘出隐藏漏洞。
路径爬取
路径爬取的目标是尽可能全面地发现目标站点的可访问路径,包括隐藏的API、未公开的文件、测试环境页面等。以下是一些主流工具及其使用方法:
常用工具与操作步骤
Burp Suite Pro
Burp Suite Pro 是渗透测试中不可或缺的工具,但它内置的爬虫功能却少有人知。使用Burp自带的爬虫工具其实非常简单,只需要点点点就可以了,具体操作时需要注意以下几点:
- 设置高级范围控制:
- 勾选
Use advanced scope control
。 - 勾选
Show only in-scope items
。
- 勾选
- 关键词过滤:
- 设置过滤关键词为需要测试的网站。
- 配合浏览器插件批量打开 URL:
- 使用
Copy All Urls
等浏览器插件,批量打开网站进行测试。
- 使用
- 实战技巧:
- 对发现的子域名(如 700+ 子域)进行功能测试,尝试登录或注册,并访问所有功能点。
如果对 Scope 功能不了解的小伙伴可以看 这篇文章。
Katana
Katana 是一个高效轻量级的爬虫工具,支持多个文件类型的快速扫描:
cat subs_live.txt | katana -sc -kf robotstxt,sitemapxml -jc -c 50 > katana_out.txt
- 参数解析:
-sc
:启用子域扫描。-kf
:关键文件类型扫描,如robots.txt
和sitemap.xml
。-jc
:启用 JS 文件解析。
Hakrawler
Hakrawler 专注于快速发现路径,适合多轮数据处理:
cat subs_live.txt | hakrawler -subs > hakrawler_out.txt
- 建议对输出结果进行 2~3 次迭代扫描,以最大化发现路径。但若时间有限,可适当减少扫描轮次。
Gospider
Gospider 是功能丰富的爬虫工具,支持从多种数据源提取信息:
gospider -S subs_live.txt -o gs_output -c 50 -d 2 --other-source --subs --sitemap --robots
- 推荐参数:
--other-source
:启用其他数据源(如 Archive.org、VirusTotal)。-d 2
:设置爬取深度为 2。
- 注意事项:Gospider 有时会因大规模扫描导致崩溃,建议分批次执行。
Gau (GetAllUrls)
Gau 是获取大量 URL 的利器,但需要对结果进行清洗:
cat subs_live.txt | gau > gau_out.txt
- Gau 的输出结果数量巨大(可能生成数百万条),需要:
- 对 URL 去重。
- 提取关键路径,剔除脏数据。
Oxdork
Oxdork 用于执行 Google Dork 搜索,但需解决国内访问限制问题:
- 在云服务器上配置代理环境后运行:
oxdork "site:yahoo.com" -c 100
- 注意事项:
- 多次运行可能导致 IP 被谷歌暂时封禁,建议分时间段执行。
- 若需对多个子域批量执行 Dork,可以尝试优化代码逻辑以提高效率。
路径爬取的核心价值
路径爬取的作用不仅是收集测试入口点,更是辅助识别潜在的漏洞场景。例如,找到特定路径和参数后,可尝试利用反射型 XSS Payload 测试页面响应,从而发现漏洞。
目录爆破
目录爆破通过字典匹配的方式,枚举网站的隐藏路径或敏感文件,是信息收集阶段的重要手段之一。
常用工具
Feroxbuster
Feroxbuster 是一款高效的目录爆破工具,支持多线程操作:
feroxbuster --url https://promo.indrive.com/ -w paths.txt
Dirsearch
Dirsearch 是另一款功能强大的爆破工具,支持丰富的字典和自定义选项:
python3 dirsearch.py -u https://target.com -w paths.txt -e php,html,js
- 参数解析:
-w
:指定字典文件。-e
:指定文件扩展名。
字典选取
优质的字典是目录爆破成功的基础,选择合适的字典能够显著提高效率和准确性。以下是一些推荐的字典资源和分类建议:
下面是Github上成套的热门字典:
- Assetnote Wordlists: https://wordlists.assetnote.io/
- SecLists - Web Content: https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content
- Orwagodfather WordList: https://github.com/orwagodfather/WordList
如果对字典选择不熟悉,可以优先尝试以下常用字典:
- 403 绕过字典: https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/403/403.md
- Bo0oM Fuzz Dictionary (4k 量级): https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/fuzz-Bo0oM.txt
- Bo0oM Fuzz.txt (5k 量级): https://github.com/Bo0oM/fuzz.txt/blob/master/fuzz.txt
- Orwagodfather Fuzz Dictionary (22k 量级): https://github.com/orwagodfather/WordList/blob/main/fuzz.txt
- Hfuzz Dictionary (18w 量级): https://github.com/thehlopster/hfuzz/blob/master/hfuzz.txt
- OneListForAll(多个量级): https://github.com/six2dez/OneListForAll
多级路径爆破建议
在进行多级路径爆破时,建议优先选择小型字典,字典行数控制在 100~500 行之间,以减少无关路径的干扰和测试时间浪费。这样的字典建议集成常见的敏感文件和接口。
总结
路径爬取与目录爆破是信息收集的基础工作,但不能完全依赖工具单独完成任务。在实际操作中,需要结合多种工具和方法,灵活调整策略。希望本篇能为你的渗透测试工作提供实用指导,助你快速收集关键信息,迈出漏洞发现的第一步。