competition-jwt-claim-confusion
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCompetition JWT Claim Confusion
竞赛JWT声明混淆
Use this skill only as a downstream specialization after is already active and has established sandbox assumptions, node ownership, and evidence priorities. If that has not happened yet, return to first.
$ctf-sandbox-orchestrator$ctf-sandbox-orchestratorUse this skill when the decisive bug is not just "there is a JWT," but how headers, claims, and key selection turn into accepted identity.
Reply in Simplified Chinese unless the user explicitly requests English.
仅当已处于激活状态,且已完成沙箱假设、节点所有权和证据优先级的设定后,才可作为下游专项技能使用。如果尚未满足上述条件,请先回到流程。
$ctf-sandbox-orchestrator$ctf-sandbox-orchestrator当核心漏洞不只是「存在JWT」,而是涉及头部、声明和密钥选择如何转化为被接纳的身份时,使用本技能。
除非用户明确要求使用英文,否则使用简体中文回复。
Quick Start
快速开始
- Split the token path into parse, key lookup, signature or decryption, claim validation, and final acceptance.
- Record header fields, claims, key source, issuer, audience, and role mapping before mutating anything.
- Separate possession of a token from the exact service that accepts it.
- Keep parser behavior, trust policy, and resulting app session or privilege in one chain.
- Reproduce the smallest token-to-acceptance flow that proves the decisive confusion.
- 将令牌处理路径拆分为解析、密钥查找、签名或解密、声明校验、最终接纳几个步骤。
- 在修改任何内容前,先记录头部字段、声明、密钥来源、颁发者、受众和角色映射关系。
- 将令牌持有情况和实际接纳该令牌的服务区分开。
- 把解析器行为、信任策略和最终生成的应用会话或权限关联到完整链路中。
- 复现最小化的令牌到接纳流程,证明核心混淆漏洞的存在。
Workflow
工作流
1. Map Header And Key Selection
1. 映射头部与密钥选择逻辑
- Record header fields such as ,
alg,kid,typ,cty, or embedded key material when present.jku - Note where keys come from: static config, JWKS, local file, cache, or dynamic lookup.
- Keep token parser, key selection path, and validation mode tied together.
- 记录存在的头部字段,例如、
alg、kid、typ、cty或嵌入式密钥材料。jku - 标注密钥的来源:静态配置、JWKS、本地文件、缓存或动态查找。
- 将令牌解析器、密钥选择路径和校验模式三者关联对应。
2. Prove Claim-To-Privilege Acceptance
2. 证明声明到权限的接纳逻辑
- Show how subject, audience, issuer, tenant, scope, role, or custom claims become app session, route access, or backend privilege.
- Record expiration, not-before, clock skew, issuer matching, audience matching, and claim normalization behavior.
- Distinguish token parse success from actual authorization success.
- 展示主体、受众、颁发者、租户、作用域、角色或自定义声明如何转化为应用会话、路由访问权限或后端权限。
- 记录过期时间、生效时间、时钟偏移、颁发者匹配、受众匹配和声明归一化行为。
- 区分令牌解析成功和实际授权成功两个场景。
3. Reduce To The Decisive JWT Path
3. 精简出核心JWT处理路径
- Compress the result to the smallest sequence: token supplied -> parser or key path taken -> claim accepted -> resulting capability.
- Keep one canonical accepted token path and one mutated token path if confusion or bypass depends on a delta.
- If the task broadens into a larger OAuth redirect chain, hand back to the tighter OAuth skill.
- 将结果压缩为最小序列:提交令牌 -> 执行解析或密钥查找路径 -> 声明被接纳 -> 获得对应权限。
- 如果混淆或绕过依赖于差异对比,保留一条标准可接纳令牌路径和一条修改后的令牌路径。
- 如果任务扩展为更大的OAuth重定向链路,交还给更针对性的OAuth技能处理。
Read This Reference
参考文档
- Load for the header checklist, claim checklist, and evidence packaging.
references/jwt-claim-confusion.md
- 加载查看头部检查清单、声明检查清单和证据整理规范。
references/jwt-claim-confusion.md
What To Preserve
需要留存的内容
- Raw headers, claims, key source, JWKS or local key path, and the accepting service
- The exact validation or normalization step that turns the token into accepted identity
- One minimal replayable token-to-acceptance sequence
- 原始头部、声明、密钥来源、JWKS或本地密钥路径,以及接纳令牌的服务
- 将令牌转化为被接纳身份的具体校验或归一化步骤
- 一条最小可复现的令牌到接纳流程序列