mcpField
C
ctf-web-recon

ctf-web-recon

github.com/wgpsecセキュリティ1.8k57 回インストール4 日前に更新
リポジトリ

ctf-web-recon について

CTF の Web 問題向け偵察スキルです。単一アプリのレスポンスやページ、主要パスから手掛かりを探し、偵察を早めに切り上げる方法を示します。

主な機能

  1. 01HTTP ヘッダーと HTML の確認
  2. 02優先順位に沿った情報漏えいパスの調査
  3. 03JavaScript からエンドポイントや認証情報を探索
  4. 04手掛かりに基づく技術スタックと脆弱性の推定

活用シーン

  1. 01CTF のトップページとレスポンスの分析
  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 单应用:不做子域名枚举、不做大规模端口扫描

コメント