Bootstrap

信息收集系列(六):路径爬取与目录爆破

信息收集系列(六):路径爬取与目录爆破

前言

在信息收集的过程中,路径爬取(爬虫)与目录爆破是获取隐藏资源和潜在漏洞的两种核心方法。本篇将结合工具和实际经验,深入解析如何高效进行路径爬取与目录爆破,从而快速挖掘出隐藏漏洞。


路径爬取

路径爬取的目标是尽可能全面地发现目标站点的可访问路径,包括隐藏的API、未公开的文件、测试环境页面等。以下是一些主流工具及其使用方法:

常用工具与操作步骤

Burp Suite Pro

Burp Suite Pro 是渗透测试中不可或缺的工具,但它内置的爬虫功能却少有人知。使用Burp自带的爬虫工具其实非常简单,只需要点点点就可以了,具体操作时需要注意以下几点:

  1. 设置高级范围控制
    • 勾选 Use advanced scope control
    • 勾选 Show only in-scope items
  2. 关键词过滤
    • 设置过滤关键词为需要测试的网站。
  3. 配合浏览器插件批量打开 URL
    • 使用 Copy All Urls 等浏览器插件,批量打开网站进行测试。
  4. 实战技巧
    • 对发现的子域名(如 700+ 子域)进行功能测试,尝试登录或注册,并访问所有功能点。

如果对 Scope 功能不了解的小伙伴可以看 这篇文章

Katana

Katana 是一个高效轻量级的爬虫工具,支持多个文件类型的快速扫描:

cat subs_live.txt | katana -sc -kf robotstxt,sitemapxml -jc -c 50 > katana_out.txt
  • 参数解析:
    • -sc:启用子域扫描。
    • -kf:关键文件类型扫描,如 robots.txtsitemap.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 的输出结果数量巨大(可能生成数百万条),需要:
    1. 对 URL 去重。
    2. 提取关键路径,剔除脏数据。
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

如果对字典选择不熟悉,可以优先尝试以下常用字典:

  1. 403 绕过字典: https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/403/403.md
  2. Bo0oM Fuzz Dictionary (4k 量级): https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/fuzz-Bo0oM.txt
  3. Bo0oM Fuzz.txt (5k 量级): https://github.com/Bo0oM/fuzz.txt/blob/master/fuzz.txt
  4. Orwagodfather Fuzz Dictionary (22k 量级): https://github.com/orwagodfather/WordList/blob/main/fuzz.txt
  5. Hfuzz Dictionary (18w 量级): https://github.com/thehlopster/hfuzz/blob/master/hfuzz.txt
  6. OneListForAll(多个量级): https://github.com/six2dez/OneListForAll

多级路径爆破建议

在进行多级路径爆破时,建议优先选择小型字典,字典行数控制在 100~500 行之间,以减少无关路径的干扰和测试时间浪费。这样的字典建议集成常见的敏感文件和接口。


总结

路径爬取与目录爆破是信息收集的基础工作,但不能完全依赖工具单独完成任务。在实际操作中,需要结合多种工具和方法,灵活调整策略。希望本篇能为你的渗透测试工作提供实用指导,助你快速收集关键信息,迈出漏洞发现的第一步。

;