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