首页/安全/漏洞与攻击面速查/JWT 令牌安全风险与防护
Web 漏洞原理与防护55 条

JWT 令牌安全风险与防护

JWT 是自包含令牌,风险集中在:算法可伪造(none 或对称算法混淆)、密钥弱或泄露、有效期过长、难以撤销;防护要显式校验算法、使用强密钥或非对称签名、短有效期加刷新机制。

漏洞与攻击面速查安全更新于 2026-10-12

校验与使用要点

校验与使用要点
1. 服务端显式指定允许算法(不信任头部 alg 字段)
2. 使用强密钥(HS256 至少 256 位随机)或非对称(RS256/ES256)
3. 完整校验 iss/aud/exp/nbf 声明
4. 有效期短(分钟到小时级),刷新令牌单独管理并支持撤销
5. 不在 JWT 承载敏感明文(payload 是 Base64 编码,不是加密)

常见配置错误示例

常见配置错误示例
错误:jwt.decode(token, verify=False) 或允许 alg=none
正确:jwt.decode(token, key, algorithms=['RS256'])   # 显式算法白名单
签名密钥若被硬编码进前端项目等于公开:签发与校验所用密钥只存在于服务端。

易错点

  • 过期时间设到数天甚至不校验 exp:令牌泄露后的风险窗口被持续拉长

数据来源与参考

  • RFC 7519(JSON Web Token)
  • OWASP JWT Cheat Sheet
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌