Shikata Ga Nai

Private? There is no such things.

DOM based open redirect to the leak of a JWT tokenを訳してみた

Hello there, ('ω')ノ

 

JWT トークンのリークへの DOM ベースのオープン リダイレクトを。

 

脆弱性:

 オープン リダイレクト

 DOM ベースのオープン リダイレクト

 トークン リーク

 

記事:

 https://medium.com/@adam.adreleve/dom-based-open-redirect-to-the-leak-of-a-jwt-token-1b1dd2ced9a1

 

Dom ベースのオープン リダイレクトは、侵入テスト/バグ報奨金プログラムでは

過小評価される可能性があり。

ただし、アプリケーションのコンテキストによっては、

この種のセキュリティ上の脆弱性は、一部の情報がリファラ ヘッダを通じて

漏洩する可能性があるため、重大な影響を引き起こす可能性があって。

 

Hackerone のプライベート プログラムで、セッションからログアウトすると、

「Click here」<a> タグのみが含まれる

/logout/landing.html?originalUrl=/logina ログアウト ページに

到達したことに気付き。

 

ページの DOM を分析すると、次の JS イベント リスナが「Click here」ボタンに

アタッチされていることがわかり。

 

 

リダイレクトはログイン フローに基づいた JS ベースであり、

originalUrl パラメータで指定されたパス名に署名し、

それを window.location.host の値と連結する OAuth API につながって。

 

したがって、originalurl パラメータに hello を挿入すると、

「Click here」ボタンがクリックされたときに次のリダイレクトが行われて。

 

 https://redacted.comhello/?logincallback=true

 

最新のブラウザ (FF、Chrome など) では、domain.com@anotherdomain.com は

anotherdomain.com につながって。

 

そこで、@burpcollaborator.net でoriginalurl パラメータを

挿入しようとしましたが、「Click here」ボタンをクリックすると、

コラボレータに直接連絡できて。

 

この時点で、DOM ベースのオープン リダイレクトができて。

ただし、Oauth API がリダイレクトを操作し、応答タイプがコードに

設定されていたため、認証 JWT トークンがサーバに対して

行われたリクエストのリファラ ヘッダを通じて漏洩していて。

 

潜在的な攻撃者は、JWT トークンを使用して被害者のアカウントにログインし、

アカウントの乗っ取りにつながる可能性があって。

 

Best regards, (^^ゞ