我制作这个工具是为了学习目的,并自动化 jwt 令牌劫持,而无需依赖 使用 burpsuite 代码有完善的文档,且易于理解 基于 (CVE-2018-0114) 该漏洞之所以发生,是因为在后端,服务器会检查嵌入在 jwt 标头中的 jwk 对象,其中包含 n 和 e,它们是用于构成公钥的 2 个参数
1) 攻击者生成新的 RSA 密钥对,
2) 获取 n 和 e,并将它们注入到 jwt 标头中的 jwk 对象内
3) 更改 jwt 正文部分中的任意值,然后用其私钥签名
4) 服务器使用攻击者的公钥来验证签名 。
5) 我编写了一个验证函数,通过尝试使用攻击者的公钥 (n 和 e) 解码 jwt,来确认该 jwt 是否被成功利用
1) 用新的 易受攻击的 jwt 覆盖变量 "jwt_orginal"(第 125 行)的值
2) 在字典对象 "dict_values"(第 126 行)中添加任何你想更改的属性
3) 尽情享受