Shikata Ga Nai

Private? There is no such things.

JWT authentication bypass via unverified signatureをやってみた

Hello there, ('ω')ノ

 

JWT署名の検証を行わないことによる認証バイパスを。

 

この課題では、セッションを処理するためにJWTベースの仕組みが使用されていて。

しかし、実装上の問題により、サーバは受信したJWTの署名を検証していなくて。

この課題を解決するには、セッショントークンを変更して、

/adminにある管理者パネルにアクセスし、ユーザcarlosを削除する必要があって。

自分のアカウントにログインするには、次の資格情報を使用して

 wiener/peter

 

ヒント:

この課題に取り組む前に、Burp SuiteでJWTを操作する方法について熟知して。

 

まずはログインから。

 

 

履歴のリクエストを確認するとCookieがセットされていて。

 

 

次のリスクエストでCookieの情報を引き継いでいて。

 

 

Cookieの情報をデコードしてみて。

 

 

上記のリクエストをリピータへ。

 

 

ログインした情報でエンドポイントadminにアクセスしてみると401エラーが。

 

 

Cookieの情報のユーザを書き換えてみて。

 

 

送信するとステータスコード200が。

 

 

管理パネルにアクセスできたようで。

 

 

Carlosを削除するリンクのエンドポイントとパラメータを探して。

念のためCookieのユーザも再度確認しておいて。

そこへのリクエストを送信すると。

 

 

クリアできて。

 

 

Best regards, (^^ゞ