Shikata Ga Nai

Private? There is no such things.

JWT authentication bypass via flawed signature verificationをやってみた

Hello there, ('ω')ノ

 

JWT署名検証の欠陥による認証バイパスを。

 

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

サーバは、署名されていないJWTを受け入れるように

セキュリティ設定が不適切に構成されていて。

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

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

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

 wiener/peter

 

いつものようにログインして。

 

 

 

関連のリクエストをチェックして。

 

 

CookieのJWTをデコードして。

 

 

ログイン後のアカウントページへのリクエストをリピータへ。

 

 

エンドポイントをadminに変更して。

JWTのユーザをadministratorへ変更してSendすると。

302でリダイレクトされるので、Follow redirectionを。

 

 

ログインページが。

おそらく、JWTのペイロード内のユーザを変更したので。

ヘッダで指定されているアルゴリズムとシグネチャで不整合をおこしたことを

サーバは、しっかりとチェックしているようで。

 

 

今回は、アルゴリズムをnoneへ変更して。

シグネチャを削除してSendすると。

※ペイロードの後にドットを残すこと。

 

 

ステータス200が。

 

 

管理者パネルにアクセスできたので。

carlosを削除するエンドポイントとパラメータを確認して。

そちらへリクエストを送信すると。

 

 

リダイレクトされて。

 

 

クリアできた。

 

 

Best regards, (^^ゞ