亚马逊的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。
 
- 由于Header未声明
5. 安全风险总结
- 
关键风险: - 签名绕过:Header未指定alg,可能导致服务器未验证签名2。
- 数据篡改:Payload无法解析为有效JSON,可能包含恶意构造内容。
- 非标准结构:Header缺失关键字段,不符合RFC 7519标准1。
 
- 签名绕过:Header未指定
- 
建议: - 服务端应强制校验alg字段,禁止使用None算法。
- 检查Payload合法性,避免处理异常或加密数据。
- 使用标准JWT库生成和解析Token,避免自定义字段导致漏洞12。
 
- 服务端应强制校验
6. 攻击场景示例
若服务器未校验alg,攻击者可构造以下Token实现未授权访问:
eyJhbGciOiJOb25lIiwidHlwIjoiSldUIn0.eyJ1c2VyIjoiYWRtaW4ifQ.(空签名)
优秀。
done
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号