菜单

特定CMS字典

相关源文件

引言与目的

本页面记录了 SecLists 存储库中 CMS 专用词表。这些词表包含特定内容管理系统(CMS)和 Web 应用程序的文件路径、目录名以及其他资源标识符。它们专为安全测试目的而设计,包括:

  • Web 内容发现(查找隐藏文件和目录)
  • CMS 专用安全评估
  • 针对 CMS 组件的定向模糊测试
  • 针对已知 CMS 平台的渗透测试

CMS 词表是 SecLists 中“发现”(Discovery)大类别的一部分,具体位于“Web 内容”(Web-Content)之下。它们通过为特定平台提供有针对性的测试能力来补充通用词表。

有关通用 Web 内容发现词表的信息,请参阅 Web 内容发现

组织与结构

CMS 专用词表位于 Discovery/Web-Content/CMS/trickest-cms-wordlist/ 目录中,并遵循一致的命名模式:

  • [cms-name].txt - 包含 CMS 源代码中存在的原始文件路径
  • [cms-name]-all-levels.txt - 包含从原始路径派生出的所有可能的路径排列

常规词表与所有层级词表

常规词表包含 CMS 源代码中出现的原始路径。例如:

application/Espo/Controllers/User.php
lib/auth.rb
.eslint-plugin-zammad/lib/index.js

所有层级词表通过系统地从左侧移除目录段来生成所有可能的路径排列,从而扩展了这些路径。

application/Espo/Controllers/User.php
Espo/Controllers/User.php
Controllers/User.php
User.php

这种方法很有价值,因为:

  1. 不同的 Web 服务器配置可能会在不同的路径级别公开文件
  2. 一些 CMS 安装可能位于子目录而非 Web 根目录
  3. 它增加了发现可访问资源的可能性,无论安装配置如何

路径排列过程

以下图表说明了所有层级词表的路径排列是如何生成的:

来源:Discovery/Web-Content/CMS/trickest-cms-wordlist/espocrm.txt Discovery/Web-Content/CMS/trickest-cms-wordlist/espocrm-all-levels.txt

词表内容类别

CMS 词表包含各种对安全测试有价值的资源类型:

来源:Discovery/Web-Content/CMS/trickest-cms-wordlist/zammad.txt Discovery/Web-Content/CMS/trickest-cms-wordlist/espocrm.txt

可用的 CMS 平台

此存储库包含多个 CMS 平台的词表:

CMS 平台常规列表条目所有层级列表条目主要文件类型
Zammad~1,000~5,000Ruby, JavaScript
EspoCRM~900~4,000PHP
WordPress~800~3,500PHP
Drupal~750~3,200PHP
Joomla~650~2,800PHP
Magento~1,200~5,500PHP
其他 CMS 平台可变可变混合

示例:Zammad 词表

Zammad 词表包含以下路径:

  • Ruby 库:lib/auth.rb, lib/sessions.rb
  • JavaScript 文件:.eslint-plugin-zammad/lib/rules/zammad-tailwind-ltr.js
  • 配置文件:.ruby-version, .eslintrc
  • 认证模块:lib/auth/two_factor.rb, lib/auth/permissions.rb

来源:Discovery/Web-Content/CMS/trickest-cms-wordlist/zammad.txt

示例:EspoCRM 词表

EspoCRM 词表包括:

  • PHP 控制器:application/Espo/Controllers/User.php
  • API 端点:application/Espo/Tools/Api/Cors/Middleware.php
  • 认证文件:application/Espo/Core/Authentication/Login.php
  • 数据库工具:application/Espo/Core/Utils/Database/Schema/SchemaManager.php

来源:Discovery/Web-Content/CMS/trickest-cms-wordlist/espocrm.txt

仓库集成

CMS 词表集成到 SecLists 存储库结构中,如下所示:

使用指南

这些词表旨在与各种 Web 内容发现和安全测试工具一起使用:

  1. 目录爆破:与 dirb、gobuster 或 ffuf 等工具配合使用,以发现隐藏文件和目录。

    gobuster dir -u https://target-site.com -w Discovery/Web-Content/CMS/trickest-cms-wordlist/wordpress.txt
    
  2. CMS 定向测试:当您识别出目标使用的 CMS 时,使用特定词表进行更有效的测试。

  3. 多路径层级测试:当安装路径不确定或测试错误配置时,使用所有层级词表。

  4. 模糊测试:与模糊测试工具结合使用,以测试特定 CMS 功能或文件处理程序中的漏洞。

安全测试工作流

下图说明了 CMS 词表如何融入典型的安全测试工作流程:

最佳实践

  • 从常规词表开始,以进行更快的初步发现。
  • 需要时,使用所有层级词表进行更全面的测试。
  • 根据目标服务器的响应特性调整请求速率和超时时间。
  • 考虑将扩展名(例如 .php、.html)与词表结合使用,以进行更有针对性的测试。
  • 将 CMS 专用词表与通用词表结合使用,以获得更好的覆盖范围。

词表生成与维护

CMS 词表通过 .bin/wordlist-updaters 目录中的词表更新系统进行维护。这个自动化系统遵循以下过程:

更新过程:

  1. 从最新版本的 CMS 源代码存储库中提取路径。
  2. 过滤出可能通过 Web 服务器访问的相关文件。
  3. 生成包含原始路径的常规词表。
  4. 自动创建所有层级排列。
  5. 使用更新后的列表更新存储库。

来源:.bin/wordlist-updaters