jwt_tool.py是一个用于验证、伪造、扫描和篡改 JWT(JSON Web 令牌)的工具包。
其功能包括:
- 检查令牌的有效性
- 测试已知漏洞:
- (CVE-2015-2951) alg=none签名绕过漏洞
- (CVE-2016-10555) RS/HS256公钥不匹配漏洞
- (CVE-2018-0114)密钥注入漏洞
- (CVE-2019-20933/CVE-2020-28637)空白密码漏洞
- (CVE-2020-28042)空签名漏洞
- 扫描错误配置或已知弱点
- 模糊声明值以引发意外行为
- 测试秘密/密钥文件/公钥/JWKS 密钥的有效性
- 通过高速字典攻击识别弱密钥
- 伪造新的令牌标头和有效负载内容,并使用密钥或通过其他攻击方法创建新签名
- 时间戳篡改
- RSA 和 ECDSA 密钥生成和重建(来自 JWKS 文件)
- ...还有更多!
运行jwt_tool,查看使用信息:
$ python3 jwt_tool.py -h
处理令牌并读取解码的声明和值:
$ python3 jwt_tool.py eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpbiI6InRpY2FycGkifQ.bsSwqj2c2uI9n7-ajmi3ixVGhPUiY7jO9SUn9dm15Po
根据公钥验证令牌:
$ python3 jwt_tool.py JWT_HERE -V -pk my_public.pem
或者
$ python3 jwt_tool.py JWT_HERE -V -jw my_public_jwks.json
开始以交互方式篡改标头和有效负载声明:
$ python3 jwt_tool.py JWT_HERE -T
下载工具
https://github.com/ticarpi/jwt_tool
原文始发于微信公众号(白帽学子):用于测试、调整和破解 JWT 的工具包
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论