菜单

Web内容发现

相关源文件

目的与范围

Web内容发现是安全测试中的一个关键阶段,它涉及识别Web应用程序上未链接和隐藏的内容。本节记录了用于发现Web服务器上文件、目录和端点的字典和技术,这些内容可能无法通过直接浏览访问。这些资源使安全专业人员能够枚举Web服务器内容,从而可能揭示漏洞、敏感信息或额外的攻击向量。

有关子域枚举,请参阅DNS发现;有关API端点发现,请参阅API发现

核心组件概述

SecLists的Web内容发现部分提供了按目的、大小和目标技术组织的各种字典。这些字典旨在与Gobuster、Dirbuster、Burp Suite或其他内容发现工具结合使用,以识别Web应用程序上隐藏或未链接的资源。

来源:Discovery/Web-Content/README.md1-87 Discovery/Web-Content/common.txt1-5

字典组织

Web内容发现部分中的字典旨在支持不同的扫描方法、目标环境和扫描持续时间。

来源:Discovery/Web-Content/README.md11-54 Discovery/Web-Content/combined_words.txt1-20 Discovery/Web-Content/combined_directories.txt1-20

核心字典

字典描述目的大小
common.txt常见文件和目录名称的核心列表通用发现4,000+条目
combined_words.txt来自多个来源的聚合字典全面文件发现220,000+条目
combined_directories.txt全面目录路径目录结构发现40,000+条目
big.txt扩展通用字典广泛覆盖扫描20,000+条目
Logins.fuzz.txt认证相关端点查找登录页面90+条目
quickhits.txt常见漏洞路径快速识别问题2,000+条目

来源:Discovery/Web-Content/README.md18-54 Discovery/Web-Content/common.txt1-10 Discovery/Web-Content/Logins.fuzz.txt1-10

RAFT字典系列

RAFT(递归应用程序模糊测试器)字典按以下方式分类:

  1. 内容类型:

    • 目录(用于文件夹枚举)
    • 文件(用于文件发现)
    • 扩展名(用于特定文件类型)
  2. 大小:

    • 小型(更快速的扫描)
    • 中型(均衡方法)
    • 大型(全面扫描)
  3. 大小写敏感性:

    • 标准(混合大小写)
    • 小写(全部小写)

这种组织方式允许安全测试人员根据其测试要求、时间限制和目标环境选择合适的字典。

来源:Discovery/Web-Content/README.md11-16 Discovery/Web-Content/raft-large-extensions.txt1-10 Discovery/Web-Content/raft-large-extensions-lowercase.txt1-10

字典内容和模式

常见条目类型

字典包含多种Web内容类别

  1. 隐藏文件和目录:

    • 配置文件(.htaccess, .env, .git, .config
    • 系统文件(.bash_history, .htpasswd
    • 已知路径(.well-known/security.txt
  2. 管理界面:

    • 管理路径(admin/, administrator/, admincp/
    • 控制面板(cpanel/, dashboard/, manage/
  3. 常见Web应用程序组件:

    • 内容管理系统路径(wp-admin/, joomla/
    • 应用程序目录(includes/, modules/, templates/
    • 备份文件(backup/, backup.sql, *.bak
  4. 开发和调试资源:

    • 测试文件(test.php, phpinfo.php
    • 开发工件(dev/, staging/
    • 日志和错误文件(logs/, error_log
  5. 静态资源:

    • 媒体目录(images/, uploads/, files/
    • 样式和脚本目录(css/, js/, assets/

来源:Discovery/Web-Content/common.txt1-100 Discovery/Web-Content/quickhits.txt1-50

文件扩展名覆盖

扩展名字典涵盖了广泛的文件类型

类别示例目的
服务器端脚本.php, .asp, .aspx, .jsp识别后端代码
数据文件.xml, .json, .sql, .csv查找暴露的数据源
配置.conf, .config, .ini发现配置文件
备份.bak, .old, .backup查找可能包含敏感数据的备份文件
档案.zip, .tar.gz, .rar识别可下载的压缩包
文档.pdf, .doc, .txt定位暴露的文档

来源:Discovery/Web-Content/raft-large-extensions.txt1-50 Discovery/Web-Content/raft-large-extensions-lowercase.txt1-50

与安全测试工作流程集成

Web内容发现字典旨在集成到更广泛的安全评估工作流程中,为漏洞发现奠定基础。

来源:Discovery/Web-Content/README.md1-87

CMS特定发现

SecLists存储库包含用于内容管理系统和Web应用程序框架的专用字典,其中包含针对这些平台的特定路径和资源。

来源:Discovery/Web-Content/CMS/README.md1-29 Discovery/Web-Content/CMS/Adobe-AEM_2021.txt1-20 Discovery/Web-Content/CMS/Oracle-EBS-wordlist.txt1-20

用例和实现

常见用例

  1. 初始枚举:识别Web应用程序的结构和组件
  2. 查找隐藏内容:发现未链接的页面、目录和文件
  3. 定位管理界面:查找管理控制台和管理面板
  4. 识别备份文件:发现可能包含敏感信息的备份文件
  5. 检测开发资源:查找开发、预生产或测试环境
  6. 映射API端点:发现API端点和服务

示例实现

与Gobuster配合使用

gobuster dir -u https://target.com -w /path/to/SecLists/Discovery/Web-Content/common.txt

与ffuf配合使用

ffuf -u https://target.com/FUZZ -w /path/to/SecLists/Discovery/Web-Content/raft-medium-directories.txt

与Burp Suite Intruder配合使用

  1. 加载合适的字典(例如:combined_words.txt)
  2. 配置目标和Payload位置
  3. 对目标执行扫描

选择指南

场景推荐字典
快速扫描common.txt, quickhits.txt, raft-small-directories.txt
标准评估combined_directories.txt, raft-medium-directories.txt, raft-medium-files.txt
全面调查combined_words.txt, big.txt, raft-large-directories.txt, raft-large-files.txt
已知CMS相关CMS特定字典(例如:WordPress, Adobe AEM)
API侧重Discovery/Web-Content/api/ 中的API字典

来源:Discovery/Web-Content/README.md1-87

与字典更新系统的关系

Web内容字典,特别是组合列表,通过SecLists存储库中的字典更新系统进行维护。

来源:Discovery/Web-Content/README.md18-54

Web内容发现的最佳实践

  1. 先广后精:从较小、更常见的字典开始,然后根据发现结果逐步使用更大、更专业的字典

  2. 优先使用不区分大小写的扫描:许多Web服务器不区分大小写,因此为提高效率,请从全小写字典开始

  3. 考虑文件扩展名:根据目标技术(PHP, ASP.NET等)使用合适的扩展名字典

  4. 结合DNS发现:与子域枚举DNS发现相结合,进行全面的攻击面映射

  5. 分析响应代码和大小:关注非标准HTTP响应(不只是200 OK)和异常的响应大小

  6. 跟进模式:如果发现命名约定或模式,创建自定义字典以探索类似资源

  7. 遵守速率限制:实施适当的时间和请求限制,以避免干扰目标服务

  8. 检查误报:手动验证发现的资源,确认其为合法发现

来源:Discovery/Web-Content/README.md1-87

结论

SecLists的Web内容发现部分提供了全面的字典集合,用于识别不同平台和技术上的隐藏Web资源。这些字典为安全专业人员系统地枚举Web应用程序奠定了基础,揭示潜在的安全漏洞和攻击向量。

通过根据目标环境、测试要求和时间限制选择合适的字典,安全测试人员可以有效地发现未链接的内容、管理界面、备份文件以及其他可能隐藏的敏感资源。