亚马逊的JWT分析-eyJ2IjoiMSJ9.5dsh8H2x13VnSrTsOLrV0eHfx2h6BdJ

JWT:

eyJ2IjoiMSJ9.5dsh8H2x13VnSrTsOLrV0eHfx2h6BdJNDZxAp6eggV9HsmFybP6EVUdvJoiO-nrKlyq4U1xgAKl84kfbPWChnUBLbmVA7ZvwA3AAZUgK6vZ-VpALqnoojpXH9RTGTEfEGbskJFkgTWgvU05qK6ZTMuS8a4AvbdkXfl9r1gKQ2VFQHqioSexYQecFJU19m6j5OiLys_qF9ZCUeAo2EhlHspWgf-0shEx8iidLOrLhJhHGG7ZRpEnv1R4mT15pa0D6daWruv1Yt4sIj18i8yGyR4XVDFz9KUH5J82jBMIabCc.Nx8h3nn-IKGnYhei-0p1562zjQD1sWKbe6jhFF_eJvM

 

1. 结构拆分‌

JWT字符串由三部分组成(以.分隔):

  • ‌Header‌:eyJ2IjoiMSJ9
  • ‌Payload‌:5dsh8H2x13VnSrTsOLrV0eHfx2h6BdJNDZxAp6eggV9HsmFybP6EVUdvJoiO-nrKlyq4U1xgAKl84kfbPWChnUBLbmVA7ZvwA3AAZUgK6vZ-VpALqnoojpXH9RTGTEfEGbskJFkgTWgvU05qK6ZTMuS8a4AvbdkXfl9r1gKQ2VFQHqioSexYQecFJU19m6j5OiLys_qF9ZCUeAo2EhlHspWgf-0shEx8iidLOrLhJhHGG7ZRpEnv1R4mT15pa0D6daWruv1Yt4sIj18i8yGyR4XVDFz9KUH5J82jBMIabCc
  • ‌Signature‌:Nx8h3nn-IKGnYhei-0p1562zjQD1sWKbe6jhFF_eJvM

‌2. Header 分析‌

  • ‌Base64Url解码后‌:{"v":"1"}
  • ‌异常点‌:
    • 未包含标准字段alg(签名算法)和typ(类型)‌12。
    • 仅包含自定义字段v,可能被篡改或用于绕过签名验证(例如将alg设为None时无需验证签名)‌2。

‌3. Payload 分析‌

  • ‌尝试解码‌:
    • 直接解码结果为一串乱码,非标准JSON格式。
  • ‌可能原因‌:
    • 数据被加密或二次编码。
    • 存在人为构造的无效内容(如测试攻击载荷或伪造数据)‌2。

‌4. Signature 分析‌

  • ‌签名验证逻辑‌:
    • 由于Header未声明alg,无法确定签名算法类型。
    • 若服务器未严格校验alg字段,攻击者可伪造签名(如alg: None时直接跳过验证)‌2。

‌5. 安全风险总结‌

  • ‌关键风险‌:

    1. ‌签名绕过‌:Header未指定alg,可能导致服务器未验证签名‌2。
    2. ‌数据篡改‌:Payload无法解析为有效JSON,可能包含恶意构造内容。
    3. ‌非标准结构‌:Header缺失关键字段,不符合RFC 7519标准‌1。
  • ‌建议‌:

    • 服务端应强制校验alg字段,禁止使用None算法。
    • 检查Payload合法性,避免处理异常或加密数据。
    • 使用标准JWT库生成和解析Token,避免自定义字段导致漏洞‌12。

‌6. 攻击场景示例‌

若服务器未校验alg,攻击者可构造以下Token实现未授权访问:

eyJhbGciOiJOb25lIiwidHlwIjoiSldUIn0.eyJ1c2VyIjoiYWRtaW4ifQ.(空签名)

 

优秀。

 

done

posted @ 2025-03-13 17:52  liskov_design  阅读(36)  评论(0)    收藏  举报