【红队入门】如何构建隐藏目录字典集

admin 2026-01-01 05:16:02 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文阐述红队构建隐藏目录字典的技巧。通过指纹识别确定技术栈,收集特定路径并利用脚本生成组合字典;最后用Gobuster测试。文章强调定制字典能发现通用工具遗漏的敏感入口与配置文件,建议结合BurpSuite及关注备份文件,以精准定位漏洞,提升渗透测试效率。 综合评分: 89 文章分类: 红队,渗透测试,WEB安全,安全工具


cover_image

【红队入门】如何构建隐藏目录字典集

原创

破天KK

KK安全说

2025年12月31日 10:42 北京

很多人通过后台私信我,询问如何根据自身需求或目标网站的技术创建自定义关键词列表。所以~~~

为什么自定义单词列表很重要

默认字典虽然很好用,但可能会遗漏特定框架或应用程序特有的目录和端点。自定义字典可以让你:

  1. 针对特定框架的目标路径:像 WordPress、Joomla 或 Django 这样的 CMS 平台通常具有独特的目录结构。
  2. 适应技术栈:Python 应用可能具有.py端点,而 Node.js 应用可能暴露.js文件。
  3. 关注可能的入口点:通过了解技术栈,您可以更准确地猜测敏感目录和文件。

创建自定义单词列表的分步指南

1. 指纹识别技术

首先确定目标网站的技术栈:

  • 使用WhatWeb或Wappalyzer等工具来检测框架、编程语言和 CMS。
  • 检查 HTTP 标头、cookie 和元标签以获取技术线索。

例如:

  • 文件wp-content夹表示 WordPress。
  • 扩展程序.php建议使用基于 PHP 的应用程序。
  1. 收集框架特定路径

研究已识别技术的默认路径、端点和敏感文件。以下是一些示例: WordPress:

  • /wp-admin(仪表盘登录区域)
  • /wp-content/uploads(用户上传的文件)
  • /wp-config.php(包含数据库凭据的配置文件)

Django:

  • /admin(管理员界面)
  • /static(静态文件,例如 CSS 和 JavaScript)
  • /media(用户上传的媒体文件)

Node.js:

  • /server.js(服务器端入口点)
  • /package.json(关于依赖项和项目设置的元数据)
  • /api/v1/api/v2常用 API 端点)

探索示例命令:

  • 用于curl手动测试路径:
curl -I <http://example.com/wp-config.php>
curl -I <http://example.com/static>
  • 用于wget递归下载:
wget -r -np <http://example.com/admin>

3. 利用公共存储库

浏览 GitHub 代码库、文档和论坛以获取更多信息。搜索诸如“默认目录结构”或“常用端点”之类的关键词,以查找特定框架的相关信息。

搜索示例:

  • 在 GitHub 上搜索:"wp-config.php" in:path
  • 寻找.env例子:"dotenv example"

4. 合并已知词汇表

合并通用列表,例如:

  • SecLists:一套全面的安全测试字典。
  • FuzzDB:用于模糊测试和发现的专用有效载荷。

然后通过附加框架特定的路径,使用自定义条目来增强它们。

5. 搜索在线词汇表

使用特定技术时,您可以在网上搜索相关的关键词列表。例如:

  • 如果目标使用 PHP,请查找 PHP 特有的单词列表:"PHP directory brute force wordlist""PHP endpoint wordlist GitHub"
  • 对于基于Node.js的应用程序,请搜索Node.js相关列表:"Node.js wordlist GitHub"

搜索命令示例:

  • 使用搜索引擎或 GitHub:
site:&nbsp;github.com&nbsp;"PHP wordlist"&nbsp;site:github.com&nbsp;"Node.js endpoint wordlist"

这些列表通常包含维护良好的特定框架路径,因此是很好的起点。

6. 自动创建单词列表

自动化是高效生成单词列表的关键。以下是具体操作方法:

步骤 1:定义框架路径

framework_paths = [&nbsp;"/admin"&nbsp;,&nbsp;"/static"&nbsp;,&nbsp;"/login"&nbsp;,&nbsp;"/config"&nbsp;]
parameters = [&nbsp;".php"&nbsp;,&nbsp;".js"&nbsp;,&nbsp;".json"&nbsp;,&nbsp;".env"&nbsp;]
custom_wordlist = []
for&nbsp;path&nbsp;in&nbsp;framework_paths:
for&nbsp;param&nbsp;in&nbsp;parameters:
&nbsp; &nbsp; &nbsp; &nbsp; custom_wordlist.append(&nbsp;f"&nbsp;{path}&nbsp;{param}&nbsp;"&nbsp;)
with&nbsp;open&nbsp;(&nbsp;"custom_wordlist.txt"&nbsp;,&nbsp;"w"&nbsp;)&nbsp;as&nbsp;file:
&nbsp; &nbsp; file.write(&nbsp;"\n"&nbsp;.join(custom_wordlist))

步骤 2:使用 Bash 实现自动化

使用 Bash 脚本可以快速进行组合操作:

paths=(&nbsp;"/admin"&nbsp;"/static"&nbsp;"/config"&nbsp;)
extensions=(&nbsp;".php"&nbsp;".json"&nbsp;".env"&nbsp;)
for&nbsp;path&nbsp;in&nbsp;"&nbsp;${paths[@]}&nbsp;"&nbsp;;&nbsp;do
for&nbsp;ext&nbsp;in&nbsp;"&nbsp;${extensions[@]}&nbsp;"&nbsp;;&nbsp;do
echo&nbsp;"$path&nbsp;$ext&nbsp;"&nbsp;>> custom_wordlist.txt
done
done

为什么要自动化?

自动化确保:

  • 可扩展性:快速生成大量列表。
  • 精确度:包含与框架相关的路径和扩展。
  • 效率:节省时间并减少人为错误。

7. 测试你的单词表

通过对目标数据库运行字典来验证其有效性:

Gobuster 示例:

gobuster dir -u <http://target-site.com> -w custom_wordlist.txt -x php,js,jsondir&nbsp;-u <http://target-site.com> -w custom_wordlist.txt -x php,js,json

FFUF 示例:

ffuf -u <http://target-site.com/FUZZ> -w custom_wordlist.txt

真实案例:发现隐藏目录

想象一下,你的目标是一个基于 Node.js 的应用程序。通过识别 <script> 标签,你可以发现一些敏感的元数据,例如包版本和依赖项。将这些信息与包含 <script> 、<script>/package.json``<script> 的字典结合起来,你就能发现一个未公开的管理面板!/api/v1``/api/v2``/admin

在另一个案例中,攻击 WordPress 网站会发现一个/wp-config.php由于权限不当而可访问的文件。该文件包含数据库凭据,可能为进一步的攻击打开方便之门。

额外提示

  1. 使用 Burp Suite:从拦截的流量中捕获常见路径和参数。
  2. 分析错误消息:404 或 403 错误通常会揭示命名规则。
  3. 关注备份文件:添加诸如.bak.old或 之类的扩展名~,以查找遗忘的备份。

最后

创建自定义字典文件不仅仅是猜测目录;它是一种发现隐藏漏洞的策略性方法。通过针对目标技术定制字典文件并利用自动化工具,您可以解锁通用工具可能遗漏的秘密。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:KK安全说 破天KK《【红队入门】如何构建隐藏目录字典集》

我的2025年度总结 网络安全文章

我的2025年度总结

文章总结: 本文是一篇幽默的年度总结文章,作者坦言2025年未做任何实质性工作,并借机祝愿大家在2026年攻防演练中安全无虞、漏洞远离,同时拥有高超的摸鱼技巧和
评论:0   参与:  0