
jwtXploiter
一个用于测试 JSON Web Token 安全性的工具。
测试 JWT 是否受到所有已知 CVE 的影响;
- 篡改令牌载荷:更改声明和子声明的值。
- 利用已知存在漏洞的头部声明(kid、jku、x5u)
- 验证令牌
- 检索目标 SSL 连接的公钥,并尝试仅用一个选项在密钥混淆攻击中使用它
- 支持所有 JWA
- 生成一个 JWK 并将其插入令牌头部
- 还有更多功能!
Wiki
安装
注意:除开发目的外,应避免克隆仓库!
注意:Deb 软件包应视为测试版
-
通过 rpm:
wget http://andreatedeschi.uno/jwtxploiter/jwtxploiter-1.2.1-1.noarch.rpm
sudo rpm --install jwtxploiter-1.2.1-1.noarch.rpm
或者,如果你机器上已安装旧版本
sudo rpm --upgrade jwtxploiter-1.2.1-1.noarch.rpm
-
通过 pip:
sudo pip install jwtxploiter
-
通过 deb:
wget http://andreatedeschi.uno/jwtxploiter/jwtxploiter_1.2.1-1_all.deb
sudo dpkg -i jwtxploiter_1.2.1-1_all.deb
-
克隆仓库:
git clone https://github.com/DontPanicO/jwtXploiter.git
./install.sh
注意:安装依赖项需要 python3-pip 包,请确保已安装。
本工具适用于谁?
- Web 应用渗透测试人员 / 漏洞赏金猎人
- 需要测试其应用程序中使用的 JWT 安全性的开发人员
- CTF 玩家
- 不适用于学生
- 由于本工具自动化了许多工作,且不强制用户了解底层发生了什么,因此它无助于你理解它所利用的漏洞。
须知
- 对于会生成 jwks 文件的攻击,你可以在当前工作目录中找到该文件。请记得删除这些文件以避免冲突。
- 对于需要合并两个 URL(服务器易受攻击的 URL 和你自己的 URL)的 jku/x5u 注入,需要使用 HERE 关键字。
- 对于重定向攻击,关键字应替换重定向 URL,例如:
- 对于通过 HTTP 头注入攻击进行的 jku/x5u 注入,应将 HERE 关键字附加到易受攻击的参数后面,而不是替换其值,例如:
- 此外,在这种情况下,请确保将服务器 URL 和你自己的 URL 以逗号分隔的形式传递。
- 在 jku/x5u 攻击中,'/.well-known/jwks.json' 会自动附加到你的 URL 后面。因此,请确保将 jwks 文件放置在你的服务器上的此路径下。
- 如果你不希望发生这种情况,请使用 --manual 选项,但此选项仅与 --jku-basic 和 --x5u-basic 兼容,因此你需要手动构造 URL 并将其传递给这些选项,即使对于利用开放重定向或 HTTP 头注入的攻击也是如此。
- 有关详细文档,请查阅维基。