Agent Skills
返回列表
🔒

API认证与JWT滥用

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/api-auth-and-jwt-abuse-khz9。

技能介绍

问题背景

API 认证中,JWT 和 Bearer Token 常被当作自包含且可信的凭据:服务端一旦验证签名,就信任声明中的角色、租户与权限,几乎不再检查请求的真实来源。但生产环境里的真实漏洞往往出现在信任边界上:alg 头部被篡改为 none 仍被接受、RS256 与 HS256 混淆导致用公钥做 HMAC 密钥、kid 查询路径存在注入、jku/x5u 允许攻击者指定远端密钥。此外,Web 端与移动端 token 跨产品线复用、role/tenant 等声明在不同服务间被不加区分地采信,都会放大单条令牌的爆炸半径。批量接口与 GraphQL 又进一步让限流策略失效——一个请求里塞进登录变更数组、密码重置重放或批量 ID 拉取。

技能如何工作

技能分四步推进:

  • 令牌分诊(Token Triage):检查 alg、kid、jku、x5u,核对 role/org/tenant/scope 声明,比对 issuer 与 audience,并留意移动端与 Web 端 token 的跨产品复用。
  • 快速攻击验证:按固定清单跑首轮测试——alg:none 是否接受带尾点的未签名 token、RS256 到 HS256 混淆、kid 路径遍历或注入、jku/x5u 远程密钥拉取,以及用定向词表离线爆破弱密钥。
  • 隐藏字段与批量滥用:探测 mass assignment 字段、限流与批量滥用点,重点覆盖 GraphQL 或 JSON batch 中的登录变更数组、不同 ID 的批量对象拉取、单请求内重复的密码重置/验证调用。
  • 限流绕过家族:梳理限流绕过手法,与隐藏参数、GraphQL 批处理等场景联动。

适用边界与注意点

该技能聚焦认证令牌与请求身份的信任边界测试,不做通用功能测试。若目标暴露 GraphQL 批处理或隐藏参数,需转向 graphql 与 hidden parameters;默认凭据与暴力破解规划见 authentication bypass;JWT 与 OAuth 的完整纵深见 jwt oauth token attacks;浏览器与 SSO 流程中的 OAuth/OIDC 配置缺陷见 oauth oidc misconfiguration;已认证浏览器读取与源信任缺陷见 cors cross origin misconfiguration。所有验证应在授权范围内进行,离线爆破与远程密钥拉取前先确认测试窗口。

使用场景

  • 渗透测试工程师在验证API鉴权时,需测试服务端是否接受alg为none的未签名JWT及尾点变体。
  • 安全审计人员排查kid头部注入或路径遍历,确认能否利用jku或x5u拉取攻击者控制的远端密钥。
  • 后端开发者在审计GraphQL批量接口时,需验证单请求内的登录变更数组和密码重置重放是否绕过限流。
  • 安全工程师在测试弱密钥时,使用定向词表离线爆破HS256签名的JWT,验证服务端是否仅依赖弱口令。

适合人员

  • 负责API安全审计的渗透测试工程师,需要系统性验证JWT签名、声明误用及限流绕过漏洞。
  • 维护GraphQL或REST批量接口的后端开发者,需要排查mass assignment与批量对象拉取的滥用风险。
  • 设计OAuth与OIDC认证流程的安全架构师,需要核对issuer与audience不匹配及token跨产品复用风险。
  • 负责API网关与鉴权中间件开发的运维工程师,需要验证kid查询路径注入及远程密钥拉取的防御有效性。