Skip to content
qingchenhhPublic

About

复制burp中的带有jwt的请求包,然后自动化进行jwt测试。

Resources

Stars

5 stars

Watchers

1 watching

Forks

Latest commit

 

History

18 Commits

Folders and files

Repository files navigation

jwt_sec

jwt自动化测试,放入请求的URL、jwt和请求参数,自动化测试jwt,先原始访问,再未授权访问,再jwt的alg改为none测试,最后再jwt爆破测试。

之前由于技术受限,没能力只能写到上面的流程,下面的新版流程才是我心目中的最终版本。

新版本

源码里的是老版本,新版本去releases下载,https://github.com/qingchenhh/jwt_sec/releases/tag/1.0

测试流程如下:

1)发送原始请求。

2)发送未授权测试请求。

3)修改alg为none(CVE-2015-2951),发送测试。

->和原始请求进行判断如果成功,则对jwt中的参数进行SQL注入、命令注入等测试。

4)未验证签名导致的越权测试。

->和原始请求进行判断如果成功,则对jwt中的参数进行SQL注入、命令注入等测试。

5)修改非对称密码算法为对称密码算法(CVE-2016-10555)

6)JWKS公钥注入--伪造密钥(CVE-2018-0114)

7)空签名(CVE-2020-28042)

->和原始请求进行判断如果成功,则对jwt中的参数进行SQL注入、命令注入等测试。

8)如果jwt中的header有kid值,尝试对kid进行文件读取、SQL注入、命令注入等测试。

如:

{ "typ": "JWT", "kid": "/etc/passwd", "alg": "HS256"}

{ "typ": "JWT", "kid":"';select 'Mw==' from jwt_keys --"}

{ "typ": "JWT", "kid": "/path/to/key_file|whoami", "alg": "HS256"}

9)爆破密钥,字典默认使用jwt.secrets.list,可选择。

->和原始请求进行判断如果成功,则对jwt中的参数进行SQL注入、命令注入等测试。
image

参考项目

https://github.com/z-bool/Venom-JWT

About

复制burp中的带有jwt的请求包,然后自动化进行jwt测试。

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages