vlambda博客
学习文章列表

jwt_tooll 一款针对JSON Web Tokens的测试工具


jwt_tooll 一款针对JSON Web Tokens的测试工具


jwt_tool.py是一个用于验证,伪造和破解JWT(JSON Web令牌)的工具包。它是一串带有声明信息的字符串,由服务端使用加密算法对信息签名,以保证其完整性和不可伪造性。Token里可以包含所有必要的信息,这样服务端就无需保存任何关于用户或会话的信息了。JWT可用于身份认证,会话状态维持以及信息交换等任务。

其功能包括:

1、检查令牌的有效性

2、测试RS / HS256公钥不匹配漏洞

3、测试alg =无签名绕过漏洞

4、测试秘密/密钥/密钥文件的有效性

5、通过高速字典攻击识别弱键

6、伪造新的令牌头和有效负载值,并使用密钥或其他攻击方法创建新签名


工具要求

本工具采用原生Python 2.x开发,使用的都是常用Python库。大家可以在字典攻击选项中配置自定义字典文件。


工具安装

大家可以直接下载代码库中的jwt_tool.py文件,或使用下列命令将代码库克隆至本地:

git clone https://github.com/ticarpi/jwt_tool.git

工具使用$python jwt_tool.py <JWT> (filename)

第一个参数就是JWT本身,后面需要跟一个文件名或文件路径。注意:目前使用HS256,HS384,HS512算法支持签名令牌


使用提示

大家还可以在Burp Search中使用正则表达式来寻找JWT(请确保开启了“大小写敏感“和“正则表达式”选项):


[=]ey[A-Za-z0-9_-]*\.[A-Za-z0-9._-]* - url-safe JWT version

[=]ey[A-Za-z0-9_\/ -]*\.[A-Za-z0-9._\/ -]* - all JWT versions


文章来源及下载:

https://github.com/ticarpi/jwt_tool

你可能喜欢