JWT 漏洞
JWT 漏洞 是什么?
JWT 漏洞JSON Web Token 验证实现中的一类缺陷,可让攻击者伪造令牌、提升权限或绕过身份验证。
JSON Web Token 在身份验证和 API 授权中被广泛使用,但其灵活的签名选项造成了几类经常出现的漏洞。经典的 alg=none 漏洞是验证方接受未签名的令牌。HS256 弱密钥可被离线破解,从而铸造任意令牌。密钥混淆出现在服务器用 RSA 公钥作为 HMAC 密钥来验证 HS256 令牌时。其他问题包括缺失签名校验、接受过期令牌、kid 头注入(路径遍历或 SQLi)、内嵌 jwk/jku 攻击等。缓解措施:在服务端固定算法、使用强非对称密钥、用白名单校验 kid,并将 JWT 视为不可信输入。
● 示例
- 01
配置不当的库接受 {"alg":"none"} 头。
- 02
服务器用公钥作为 HS256 的 HMAC 密钥来校验 RS256 令牌。
● 常见问题
JWT 漏洞 是什么?
JSON Web Token 验证实现中的一类缺陷,可让攻击者伪造令牌、提升权限或绕过身份验证。 它属于网络安全的 应用安全 分类。
JWT 漏洞 是什么意思?
JSON Web Token 验证实现中的一类缺陷,可让攻击者伪造令牌、提升权限或绕过身份验证。
JWT 漏洞 是如何工作的?
JSON Web Token 在身份验证和 API 授权中被广泛使用,但其灵活的签名选项造成了几类经常出现的漏洞。经典的 alg=none 漏洞是验证方接受未签名的令牌。HS256 弱密钥可被离线破解,从而铸造任意令牌。密钥混淆出现在服务器用 RSA 公钥作为 HMAC 密钥来验证 HS256 令牌时。其他问题包括缺失签名校验、接受过期令牌、kid 头注入(路径遍历或 SQLi)、内嵌 jwk/jku 攻击等。缓解措施:在服务端固定算法、使用强非对称密钥、用白名单校验 kid,并将 JWT 视为不可信输入。
如何防御 JWT 漏洞?
针对 JWT 漏洞 的防御通常结合技术控制与运营实践,详见上方完整定义。
● 相关术语
- identity-access№ 574
JWT(JSON Web Token)
紧凑、URL 安全的令牌格式(RFC 7519),携带带签名的 JSON 声明,广泛用作访问令牌、ID 令牌和会话载体。
- identity-access№ 088
Bearer 令牌(持有者令牌)
RFC 6750 定义的不透明或结构化凭据,仅凭持有即可授予对资源的访问权限,不需证明持有者是合法所有者。
- identity-access№ 007
访问令牌(Access Token)
由授权服务器签发的短期凭据,客户端向 API 出示后即可代表用户或服务访问受保护资源。
- appsec№ 052
API 安全
围绕 API 的设计、构建与运营,使其在受到攻击时仍能保持身份认证、授权、数据暴露与抗滥用能力的实践。
- identity-access№ 076
身份认证
在授予访问权限前,验证某个实体(用户、设备或服务)确实是其所声称身份的过程。
- compliance№ 781
OWASP Top 10
OWASP 发布的安全意识文件,列出 Web 应用最关键的安全风险,基于真实漏洞数据定期更新。