ctf-web-recon

$npx mdskill add wgpsec/AboutSecurity/ctf-web-recon

Locate CTF web attack vectors within 2-3 rounds.

  • Identifies source leaks, backup files, and hidden paths.
  • Analyzes HTTP headers and HTML comments for clues.
  • Prioritizes high-value targets over exhaustive enumeration.
  • Extracts actionable hints from response metadata.

SKILL.md

.github/skills/ctf-web-reconView on GitHub ↗
---
name: ctf-web-recon
description: "CTF Web 挑战专用侦察方法。当面对 CTF 靶场目标需要快速发现攻击入口时使用。与真实渗透的 recon 不同——CTF 是单个应用、有意留线索、侦察应在 2-3 轮内完成。覆盖源码泄露、备份文件、隐藏路径、页面线索提取"
metadata:
  tags: "ctf,recon,侦察,源码泄露,备份文件,robots,git,web,enumeration"
  category: "ctf"
---

# 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` 后缀, PHPSESSID | PHP | LFI, 反序列化, 文件上传 |
| `express`, connect.sid | Node.js | 原型链污染, SSTI(EJS) |
| JSESSIONID, `.jsp` | Java | 反序列化, JNDI, SpEL |
| `_csrf_token`, `csrfmiddlewaretoken` | Python Django | SSTI(Jinja2) |
| `session=eyJ` | Python Flask | Flask session 伪造 |

## Phase 2: 侦察补充

### 2.1 不要做的事
- ❌ 不要对 CTF 目标做子域名枚举(只有一个应用)
- ❌ 不要做大规模端口扫描(通常只有一个端口)
- ❌ 不要花超过 3 轮在侦察上(线索不在侦察里就在功能点里)

### 2.2 技术指纹判断
- NoSQL/MongoDB 特征:尝试 `$gt`、`$ne` 等 NoSQL 注入操作符

### 2.3 CTF 效率
- CTF 单应用:不做子域名枚举、不做大规模端口扫描

More from wgpsec/AboutSecurity

SkillDescription
401-403-bypass401/403 访问拒绝绕过方法论。当遇到管理后台、API 端点返回 401/403 Forbidden 时使用。覆盖路径操纵、HTTP 方法篡改、Header 注入、协议降级、组合攻击
ad-acl-abuseActive Directory ACL 滥用攻击方法论。当 BloodHound 发现 GenericAll/WriteDACL/WriteOwner/GenericWrite/ForceChangePassword 等危险 ACE 时使用。覆盖 ACE 枚举、权限滥用链、Shadow Credentials、RBCD 攻击
ad-delegation-attackKerberos 委派攻击(非约束/约束/RBCD)。当 BloodHound 发现委派配置、或已获取有 SPN 的服务账号/机器账号控制权时使用。通过 S4U 协议滥用可实现跨服务模拟任意用户,常用于域内权限提升和横向移动。
ad-domain-attackActive Directory 域环境攻击全链路。当目标主机在域环境中(systeminfo 显示 Domain 非 WORKGROUP)、发现 88/389/636 端口、或获取到域用户凭据时使用。覆盖域信息收集、用户枚举、Kerberoasting、AS-REP Roasting、委派攻击、ACL 滥用、DCSync、Golden/Silver Ticket
ad-persistenceAD 域环境持久化技术。当已获取域管/本地管理员权限、需要建立持久访问以确保重启或密码更改后仍能回到目标环境时使用。覆盖主机级持久化(计划任务/注册表Run/COM劫持/WMI事件订阅/Windows服务/启动文件夹)、域级持久化(Golden Ticket/Silver Ticket/Skeleton Key/DSRM/AdminSDHolder)、DCShadow/GoldenGMSA高级技术、清理命令与检测规避
ad-trust-attack域信任关系攻击。当目标存在多域/多林环境时使用。包含父子域提权(Golden Ticket + ExtraSid)、跨林攻击(SID History/MSSQL Trust Links)、单向信任利用。已获取子域 Domain Admin 或发现信任关系时优先加载。
adcs-certipy-attackActive Directory Certificate Services (ADCS) 证书攻击。当发现域内有 CA 服务器、ADCS Web Enrollment、证书模板配置错误时使用。覆盖 ESC1-ESC11 所有证书滥用路径、Certipy 工具链、证书伪造、NTLM 中继到 ADCS。发现 ADCS/CA/证书/certsrv 相关内容时一定要使用此技能
adinfo-enum使用 Adinfo 进行 Active Directory 信息收集。当获得域用户凭据后需要快速收集域环境信息时使用。Adinfo 是一个快速 AD 信息收集工具,一条命令输出域控列表、域管用户、信任关系、GPO、SPN、委派配置等关键信息——比手动 LDAP 查询快得多。发现域环境后第一步信息收集使用此技能
agent-security|
ai-data-security|