mcpField
C
competition-jwt-claim-confusion

competition-jwt-claim-confusion

github.com/zhaoxuya520安全43.7k94 次安装5 周前更新
代码仓库

关于 competition-jwt-claim-confusion

面向 CTF 安全分析的专项技能,供 `$ctf-sandbox-orchestrator` 建立沙箱假设后处理 JWT 声明混淆。它追踪令牌头、密钥选择、声明验证与最终权限接受之间的完整路径。

主要功能

  1. 01梳理令牌解析与密钥选择
  2. 02检查声明到权限的映射
  3. 03记录验证与规范化行为
  4. 04精简可复现的令牌接受链

适用场景

  1. 01分析 `kid` 或 `alg` 影响密钥选择的情况
  2. 02验证 JWT 声明如何获得应用权限
  3. 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. 将令牌路径拆分为解析、密钥查找、签名或解密、声明验证和最终接受。
  2. 在修改任何内容之前,记录标头字段、声明、密钥来源、签发者、受众和角色映射。
  3. 将持有令牌与接受该令牌的确切服务区分开来。
  4. 将解析器行为、信任策略以及最终的应用会话或权限保持在同一条链中。
  5. 复现最小的从令牌到接受的流程,以证明决定性的混淆。

工作流

1. 映射标头和密钥选择
  • 记录标头字段,例如 alg、kid、typ、cty、jku,或存在时的内嵌密钥材料。
  • 注明密钥来源:静态配置、JWKS、本地文件、缓存或动态查找。
  • 将令牌解析器、密钥选择路径和验证模式保持在一起。
2. 证明声明到权限的接受
  • 展示主体、受众、签发者、租户、作用域、角色或自定义声明如何成为应用会话、路由访问或后端权限。
  • 记录过期时间、生效时间、时钟偏移、签发者匹配、受众匹配和声明规范化行为。
  • 区分令牌解析成功与实际授权成功。
3. 缩减到决定性的 JWT 路径
  • 将结果压缩为最小序列:提供令牌 -> 采用的解析器或密钥路径 -> 接受声明 -> 产生的权限。
  • 如果混淆或绕过依赖于差异,则保留一条规范化的已接受令牌路径和一条变异令牌路径。
  • 如果任务扩展到更大的 OAuth 重定向链,请交回更严格的 OAuth 技能。

阅读此参考

  • 加载 references/jwt-claim-confusion.md 以获取标头检查清单、声明检查清单和证据打包。

需要保留的内容

  • 原始标头、声明、密钥来源、JWKS 或本地密钥路径,以及接受该令牌的服务
  • 将令牌转化为被接受身份的确切验证或规范化步骤
  • 一个最小的、可重放的从令牌到接受的序列

评论

支持 Markdown