关于 competition-jwt-claim-confusion
面向 CTF 安全分析的专项技能,供 `$ctf-sandbox-orchestrator` 建立沙箱假设后处理 JWT 声明混淆。它追踪令牌头、密钥选择、声明验证与最终权限接受之间的完整路径。
主要功能
- 01梳理令牌解析与密钥选择
- 02检查声明到权限的映射
- 03记录验证与规范化行为
- 04精简可复现的令牌接受链
适用场景
- 01分析 `kid` 或 `alg` 影响密钥选择的情况
- 02验证 JWT 声明如何获得应用权限
- 03整理最小令牌重放与接受证据
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ zhaoxuya520/ reverse-skill --skill competition-jwt-claim-confusion安装后在 Claude Code 中输入/competition-jwt-claim-confusion确认已加载。
附带文件agents/openai.yamlreferences/jwt-claim-confusion.md
详细介绍
竞赛 JWT 声明混淆
仅在 $ctf-sandbox-orchestrator 已处于活动状态,并已建立沙箱假设、节点归属和证据优先级之后,才将此技能作为下游专门化使用。如果尚未发生这种情况,请先返回 $ctf-sandbox-orchestrator。
当决定性的缺陷不仅仅在于“存在一个 JWT”,而在于标头、声明和密钥选择如何转化为被接受的身份时,请使用此技能。
除非用户明确要求英文,否则用简体中文回复。
快速开始
- 将令牌路径拆分为解析、密钥查找、签名或解密、声明验证和最终接受。
- 在修改任何内容之前,记录标头字段、声明、密钥来源、签发者、受众和角色映射。
- 将持有令牌与接受该令牌的确切服务区分开来。
- 将解析器行为、信任策略以及最终的应用会话或权限保持在同一条链中。
- 复现最小的从令牌到接受的流程,以证明决定性的混淆。
工作流
1. 映射标头和密钥选择
- 记录标头字段,例如
alg、kid、typ、cty、jku,或存在时的内嵌密钥材料。 - 注明密钥来源:静态配置、JWKS、本地文件、缓存或动态查找。
- 将令牌解析器、密钥选择路径和验证模式保持在一起。
2. 证明声明到权限的接受
- 展示主体、受众、签发者、租户、作用域、角色或自定义声明如何成为应用会话、路由访问或后端权限。
- 记录过期时间、生效时间、时钟偏移、签发者匹配、受众匹配和声明规范化行为。
- 区分令牌解析成功与实际授权成功。
3. 缩减到决定性的 JWT 路径
- 将结果压缩为最小序列:提供令牌 -> 采用的解析器或密钥路径 -> 接受声明 -> 产生的权限。
- 如果混淆或绕过依赖于差异,则保留一条规范化的已接受令牌路径和一条变异令牌路径。
- 如果任务扩展到更大的 OAuth 重定向链,请交回更严格的 OAuth 技能。
阅读此参考
- 加载
references/jwt-claim-confusion.md以获取标头检查清单、声明检查清单和证据打包。
需要保留的内容
- 原始标头、声明、密钥来源、JWKS 或本地密钥路径,以及接受该令牌的服务
- 将令牌转化为被接受身份的确切验证或规范化步骤
- 一个最小的、可重放的从令牌到接受的序列
评论
支持 Markdown