首页 > 解决方案 > 您可以在创建 JWT 令牌后(加密和签名后)修改它的标头吗?

问题描述

我知道 JWT 令牌包含一个 BASE64 编码的标头部分。

设想:

  1. 解码标题
  2. 更改标题中存在的参数之一的值,例如kid参数
  3. 对修改后的标头进行编码
  4. 用 JWT 令牌中的新编码标头替换初始编码标头

问题

标签: authenticationjwt

解决方案


对于签名令牌 (JWS),使用有效负载和标头计算签名。如果您更改标头或有效负载,则签名部分将变为无效。

您可以在https://jwt.io/尝试一下

请注意,有一个已知的攻击包括修改签名算法none和签名本身,允许修改有效负载而不警告易受攻击的库。有关详细信息,请参阅此详细文章


推荐阅读