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 のプライベート プログラムで、セッションからログアウトすると、

「ここをクリック」の<a> タグだけが含まれるログアウト ページ

/logout/landing.html?originalUrl=/login に到達したことに気付き。

ページの DOM を分析すると、次の JS イベント リスナーが

「ここをクリック」ボタンにアタッチされていることがわかって。

 

 

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

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

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

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

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

 

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

 

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

anotherdomain.com につながって。

 

そこで、@burpcollaborator.net でoriginalurl パラメータを挿入しようとしましたが、

「ここをクリック」ボタンをクリックすると、コラボレータに直接連絡できて。

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

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

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

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

 

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

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

 

Best regards, (^^ゞ