Hello there, ('ω')ノ
リンクパラメータを使用して見つかったオープンリダイレクトの脆弱性を。
脆弱性:
オープンリダイレクト
記事:
ターゲットのウェブサイトをredact.comと仮定して。
ログインページにURLは、下記のとおりで。
https://redact.com/login?redirect=https://anysubdomain.redact.com
これは、ユーザがログインするとすぐに下記へ移動することを意味して。
https://anysubdomain.redact.com
ここでの「anysubdomain」は、https://redact.comのサブドメインで。
下記の無効なサブドメインについても言及しておくと。
https://mysite.redact.com
アプリケーションは、リダイレクトURLに「redact.com」があることを確認して。
特定のWebサイトを読み込もうとするので。
有効で機能しているサブドメインの場合は、それぞれのウェブサイトが読み込まれ。
一方、https://mysite.redact.comなどの無効なサブドメインの場合だと。
アプリケーションは、そのウェブサイトを読み込もうとすると。
無効なサブドメインへのリダイレクトされて下記のような。
エラーメッセージが表示されて。
オープンリダイレクトのために、回避策を試すのに。
https://redact.comのさまざまなサブドメインを探すことに。
すると、https://link.redact.comのようなアドレスを指しているリンクを見つけて。
幸い、https://redact.comの環境ではリンクが無効だったので。
ここに焦点を当てて調査を開始すると。
すぐに、「link」とも呼ばれるパラメータを見つけることができて。
このパラメータは下記のように自分の指定したウェブサイトにリダイレクトできて。
https://link.redact.com?link=https://mysite.comでhttps://mysite.com
しかし、https://link.redact.comはスコープの範囲外だったので。
https://redact.com/loginで使用することに。
したがって、オープンリダイレクトのペイロードを含むURLは下記のようになって。
https://redact.com/login?redirect=https://link.redact.com?link=https://mysite.com
上記のURLで、すでにログインしているユーザをhttps://mysite.comに誘導できて。
まだ、ログインしていないユーザの場合は。
最初にアプリケーションのログイン画面が表示されて。
ログインすると、https://mysite.comに移動するので影響は明らかで。
ログインしたユーザの資格情報などの機密情報を盗むために。
フィッシングWebページに移動する可能性があって。
スコープ内ドメインからスコープ外アイテムの脆弱性を利用できることも。
Best regards, (^^ゞ