mcpField
C
ctf-web-recon

ctf-web-recon

github.com/wgpsec安全1.8k57 次安装4 天前更新
代码仓库

关于 ctf-web-recon

面向 CTF Web 挑战的侦察技能,指导参赛者从单个 Web 应用的响应、页面内容和关键路径中寻找线索,并尽快转入后续分析。

主要功能

  1. 01检查 HTTP 响应头与 HTML
  2. 02按优先级检查信息泄露路径
  3. 03从 JavaScript 查找端点和凭据
  4. 04依据线索判断技术栈与漏洞方向

适用场景

  1. 01分析 CTF 首页及其响应
  2. 02检查常见源码、备份和管理路径
  3. 03从脚本线索确定后续测试方向

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wgpsec/aboutsecurity --skill ctf-web-recon

安装后在 Claude Code 中输入/ctf-web-recon确认已加载。

附带文件evals/evals.jsonevals/recall.json

详细介绍

来自项目 README

CTF Web 侦察方法论

CTF 侦察和真实渗透的侦察本质不同:

  • 真实渗透:大量资产,需要枚举子域名、扫端口、做指纹
  • CTF:单个 Web 应用,出题者故意留了线索,侦察的目标是找到这些线索

核心原则:2-3 轮内完成侦察,不要在侦察上花太多 rounds。

Phase 1: 侦察流程

1.1 首页分析

用 http_request GET 首页,仔细检查响应:

HTTP 响应头
  • Server — 服务器类型和版本(Apache/Nginx/Express)
  • X-Powered-By — 后端语言(PHP/Express/ASP.NET)
  • Set-Cookie — Cookie 格式(PHPSESSID=PHP, connect.sid=Node, JSESSIONID=Java)
  • 非标准 Header — 出题者可能通过自定义 Header 给提示
HTML 内容
  • <!-- 注释 --> — CTF 出题者常在注释里留提示(密码、路径、漏洞类型)
  • <input type="hidden"> — 隐藏字段可能可以篡改
  • <form action="..."> — 表单提交地址暴露后端接口
  • <script src="..."> — JS 文件路径暴露项目结构
  • 页面文字 — 有时提示就在页面内容里("Try harder", "Look deeper")
1.2 关键路径检查

按优先级依次检查(有发现就分析,不要机械地全部检查):

信息泄露路径
/robots.txt          — 最常见的提示位置,Disallow 的路径往往是关键
/.git/HEAD           — Git 源码泄露(存在则用 githacker --brute 恢复完整仓库,含 stash/所有分支)
/.svn/entries        — SVN 泄露
/.DS_Store           — macOS 目录文件泄露
/crossdomain.xml     — Flash 跨域策略(可能暴露内部域名)
/.env                — 环境变量文件(数据库密码、API 密钥)
/composer.json       — PHP 依赖(暴露框架版本)
/package.json        — Node.js 依赖
备份文件
/www.zip, /www.tar.gz, /backup.zip     — 整站打包
/index.php.bak, /index.php~, /index.php.swp  — 编辑器备份
/flag.txt, /flag, /flag.php             — 直接读 flag(有时就这么简单)
/.index.php.swp                         — Vim swap 文件
管理入口
/admin, /admin.php, /login, /login.php
/console, /dashboard, /phpmyadmin
/api, /api/v1, /graphql
1.3 JavaScript 分析

如果首页引用了 JS 文件,用 http_request 获取它们,搜索:

  • API 端点路径(/api/, fetch(, axios.)
  • 硬编码凭据(password, token, secret, key)
  • 隐藏功能(admin, debug, test)
  • 注释中的提示

技巧:压缩/混淆的 JS 不需要完全理解,搜索关键字符串即可。

1.4 技术栈确认

通过前面的信息确认技术栈,这决定了后续的漏洞利用方向:

线索技术栈常见漏洞
.php 后缀, PHPSESSIDPHPLFI, 反序列化, 文件上传
express, connect.sidNode.js原型链污染, SSTI(EJS)
JSESSIONID, .jspJava反序列化, JNDI, SpEL
_csrf_token, csrfmiddlewaretokenPython DjangoSSTI(Jinja2)
session=eyJPython FlaskFlask session 伪造

Phase 2: 侦察补充

2.1 不要做的事
  • ❌ 不要对 CTF 目标做子域名枚举(只有一个应用)
  • ❌ 不要做大规模端口扫描(通常只有一个端口)
  • ❌ 不要花超过 3 轮在侦察上(线索不在侦察里就在功能点里)
2.2 技术指纹判断
  • NoSQL/MongoDB 特征:尝试 $gt、$ne 等 NoSQL 注入操作符
2.3 CTF 效率
  • CTF 单应用:不做子域名枚举、不做大规模端口扫描

评论

支持 Markdown