Hello there, ('ω')ノ
jkuヘッダインジェクションによるJWT認証バイパスを。
まずは、ログインして。
対象のリクエストをリピータへ。
エンドポイントを/adminに変更してリクエストを送信すると。
管理者ユーザとしてログインしている場合にのみ、
管理者パネルにアクセスできるようで。
JWT Editor Keysタブで、New RSA Keyをクリックして。
ダイアログで、Generateをクリックして新しいキーペアを自動生成して。
OKをクリックしキーを保存して。
キーサイズは、後で自動的に更新されて。
エクスプロイトサーバで、Bodyを空のJWKに置き換えて。
{
"keys": [
]
}
JWT Editor Keysタブで生成したキーのエントリを右クリックして、
Copy Public Key as JWKを選択して。
コピーしたJWKを貼り付けて、保存して。
{
"kty": "RSA",
"e": "AQAB",
"kid": "000e8978-614b-4afb-9212-629315992c62",
"n": "vCLTXCvPYDKiBMbPEIHeJBkBRXegaCWgUmXxyTbuaf2n7iUruXuuKwSNEsLP0ImMXSb5g_ifKpH4fgB2IKRMwsp9ta9JP7IQxNr_fCqDTPznlML7iURcpfWPb4zxvniiFBewE0kf42fKBs2IkJPIP8OGOo4SYt-U8YNfR1ChPDoMmPRHJkekn7GXcXA3VSQheF-mUyPNDUjA_VPJvWEMEfAnRYVEEhg-UudtsISq9gWFuUFWcI9bCaH__-aldKmH0s0_ENG4XrYKhtI0aGiYWlWyNJCsqBavI1wc11Gg97tehnWDAv6jhXnFDQLliSDHSUzkxZX3TVFRxAxjZbeoYQ"
}
JSON Web TokenのJWTのヘッダで、kidパラメータを、
エクスプロイトサーバにアップロードしたJWKのkidに置き換えて。
JWTのヘッダにエクスプロイトサーバのURLに設定して。
ペイロードのsubクレームの値をadministratorに変更して。
Signをクリックし、生成したRSA鍵を選択して。
Don't modify headerオプションが選択されていることを確認し、OKを。
再度、リクエストを送信すると管理パネルにアクセスできて。
Carlosを削除するためのエンドポイントとパラメータを送信すると。
クリアできて。
Best regards, (^^ゞ