JWT 入门与安全边界:JWT 结构、六种攻击方法(算法降级/密钥暴力/篡改Claim/无签名等),含防御方法。
写在前面:合法学习边界
JWT 安全测试只在授权测试环境进行。
一、JWT 攻击方法

1
| ① 伪造签名 ② 算法降级 ③ 密钥泄露 ④ 篡改 Claim ⑤ 无签名 ⑥ 过期
|
二、常见攻击
1
2
3
4
| 算法降级:RS256 → HS256(公开公钥当密钥)
密钥暴力:短密钥(<16位)可暴力破解
篡改 Claim:修改 payload 中 role/exp
无签名:alg=none → 服务器不验证
|
三、防御方法
1
2
3
4
| 强制算法:服务端硬编码允许算法(RS256)
强密钥:≥ 256 bit · 使用非对称密钥
过期时间:access_token 15min + refresh_token 刷新
安全存储:HTTPS · HttpOnly Cookie · 不存 localStorage
|
四、小结
JWT 安全核心是强制服务端指定算法 + 使用强密钥。拒绝 alg=none,密钥长度至少 256 bit。