通过 kid SQL 注入绕过 JSON Web Token 签名

high Web App Scanning 插件 ID 115299

简介

通过 kid SQL 注入绕过 JSON Web Token 签名

描述

可以对 JSON Web Token 签名以防止数据篡改。“kid”(密钥 ID)标头参数通常由应用程序用于查找必须用于验证标记签名的密钥。

当“kid”值在未正确审查的情况下串联到 SQL 查询中时,攻击者可注入强制密钥查找返回其控制值的负载。然后,攻击者可使用该值对伪造的标记进行签名,该标记将被应用程序接受。

根据标记的使用情况,攻击者可利用此漏洞伪造有效的标记并冒充其他用户,或获取进一步的权限。

解决方案

确保应用程序根据其控制的受信任密钥验证每个 JSON Web Token。影响密钥解析的标头参数(kid、jwk、jku、x5u、x5c)绝不能按原样受到信任:将验证固定到已知密钥或严格的允许列表,拒绝其标头选择非预期密钥的标记,以及审查用于查找或加载密钥的任何值。

另见

https://auth0.com/blog/critical-vulnerabilities-in-json-web-token-libraries

https://cheatsheetseries.owasp.org/cheatsheets/JSON_Web_Token_for_Java_Cheat_Sheet.html

https://portswigger.net/web-security/jwt

https://research.securitum.com/jwt-json-web-token-security/

插件详情

严重性: High

ID: 115299

类型: Check Based

发布时间: 2026/7/17

最近更新时间: 2026/7/17

扫描模板: api, basic, full, mcp, pci, scan

风险信息

VPR

风险因素: Medium

分数: 6

百分位: 0

CVSS v2

风险因素: High

基本分数: 7.8

矢量: CVSS2#AV:N/AC:L/Au:N/C:N/I:C/A:N

CVSS 分数来源: Tenable

CVSS v3

风险因素: High

基本分数: 7.5

矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

CVSS 分数来源: Tenable

CVSS v4

风险因素: High

Base Score: 8.7

Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

CVSS 分数来源: Tenable

参考资料信息