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ベースのオープンリダイレクト

 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」ボタンに接続されていることがわかって。

 

f:id:ThisIsOne:20211225152614p:plain

 

リダイレクトは、ログインフローに基づく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, (^^ゞ