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, (^^ゞ