Hello there, ('ω')ノ
JWTトークンのリークへのDOMベースのオープンリダイレクトを。
脆弱性:
オープンリダイレクト
DOMベースのオープンリダイレクト
OAuthトークンの盗難
記事:
https://medium.com/@adam.adreleve/dom-based-open-redirect-to-the-leak-of-a-jwt-token-1b1dd2ced9a1
ツール:
Burp Suite
DOMベースのオープンリダイレクトは。
侵入テスト/バグバウンティプログラムでは過小評価される可能性があるものの。
アプリケーションのコンテキストによっては、この種のセキュリティの脆弱性は。
一部の情報がリファラヘッダから漏洩する可能性があるため。
重大な影響をもたらす可能性があって。
Hackeroneのプライベートプログラムで、セッションからログアウトすると。
「Click here」の<a>タグのみで。
下記のログアウトページにリンクしたことに気付いたので。
/logout/landing.html?originalUrl=/login
ページのDOMを分析すると、次のJSイベントリスナーが。
「Click here」ボタンに接続されていることがわかって。
リダイレクトは、ログインフローに基づくJSで。
originalUrlパラメータで提供されたパス名に署名すると。
window.location.hostの値(/login)と連結したOAuthAPIにつながったので。
originalUrlパラメータにhelloを挿入して。
「Click here」ボタンがクリックされたときに次のリダイレクトが発生して。
https://redacted.comhello/?logincallback=true
最新のブラウザ(FireFox、Chromeなど)では。
domain.com@anotherdomain.comは、anotherdomain.comにつながるので。
@burpcollaborator.netを使用して、originalUrlパラメータを挿入して。
「Click here」ボタンをクリックすると、直接コラボレータに到達して。
この時点で、DOMベースのオープンリダイレクトがあるものの。
Oauth APIがリダイレクトを操作していて。
応答タイプがコードに設定されているため。
認証JWTトークンがサーバに対して行われたリクエストの。
リファラヘッダを介してリークしていて。
潜在的な攻撃者は、JWTトークンを使用して。
被害者のアカウントにログインする可能性があって。
これがアカウントの乗っ取りにつながって。
Best regards, (^^ゞ