
JWTエクスプロイトの自動化 (CVE-2018-0114)
このツールは、学習目的と、burpsuite に依存せずに jwt トークンハイジャックを自動化するために作成しました。 コードは十分にドキュメント化されており、理解しやすい内容になっています。 (CVE-2018-0114) に基づいています。 この脆弱性は、バックエンドでサーバーが jwt ヘッダー内に埋め込まれた jwk オブジェクトをチェックするために発生します。jwk オブジェクトには、公開鍵を形成するために使用される 2 つのパラメータである n と e が含まれています。
1) 攻撃者は新しい RSA 鍵ペアを生成し、
2) n と e を取得して jwt ヘッダーの jwk オブジェクト内に注入し、
3) jwt ボディ部の任意の値を変更して、自身の秘密鍵で署名し、
4) サーバーは攻撃者の公開鍵を使用して署名を検証する。
5) 攻撃者の公開鍵(n と e)を使用してデコードを試みることで、jwt が正常に悪用されたかどうかを確認する検証関数を作成しました。
1) 125行目にある変数 "jwt_orginal" の値を、新しい脆弱な jwt で上書きする
2) 126行目にある辞書オブジェクト "dict_values" に、変更したい属性を追加する
3) 楽しんでください