webサイトにURL入力欄がある場合、どのような方法でオープンリダイレクト攻撃をすることができますか?

towfiqu-barbhuiya-em5w9_xj3uU-unsplash.jpg

質問

webサイトにURL入力欄がある場合、どのような方法でオープンリダイレクト攻撃をすることができますか?
スクリプトですか?


解答

オープンリダイレクト攻撃は、URL入力欄などのリダイレクト機能を悪用して、ユーザーを攻撃者が指定した悪意のある外部サイトに誘導する攻撃手法です。必ずしもスクリプトを書く必要はなく、攻撃は主に「不正なリダイレクトURLを仕込むこと」で成立します。


1. オープンリダイレクト攻撃の基本

  • Webサイトにリダイレクト先をURLパラメータなどで受け取る仕組みがあると、そのパラメータを改変し、悪意のあるサイトへリダイレクトさせられる可能性がある。

  • 例えば、次のようなURLがあったとします。

https://example.com/redirect?url=https://example.com/home
  • このurlパラメータを攻撃者が以下のように書き換えます。

https://example.com/redirect?url=https://evil.com/phishing
  • ユーザーがこのURLをクリックすると、正規サイトからevil.comへリダイレクトされてしまう。


2. 攻撃手法はスクリプトとは限らない

  • オープンリダイレクトはスクリプトを書かなくてもURLを工夫するだけで成立します。

  • もちろん、攻撃者がスクリプトを用いて不正URLを大量生成・拡散することはありますが、攻撃の根本はリダイレクト処理の脆弱性です。


3. 具体的なリダイレクトURLの工夫例

  • URLパラメータを正規サイト以外に書き換える。

  • URLエンコードや短縮URLを使い、ユーザーに分かりづらく誘導。

  • JavaScriptのwindow.locationを使ったリダイレクトスクリプトを埋め込むケースもあるが、これは別のXSS(クロスサイトスクリプティング)攻撃に近い。


4. まとめ

ポイント内容
オープンリダイレクト攻撃とは?正規サイトのリダイレクト機能を悪用し悪質サイトに誘導する攻撃
スクリプトは必須か?必須ではなく、主にURL操作で成立する
攻撃例https://example.com/redirect?url=https://evil.com
攻撃防止策リダイレクト先をホワイトリストで検証、URLパラメータの厳格チェック





ポストコロナのインフラDX戦略 [ 可児滋 ]

価格:1980円
(2025/8/22 21:10時点)
感想(0件)


詳解HTTP/2 (Programmer's SELECTION) [ Barry Pollard ]

価格:4180円
(2025/4/11 17:49時点)
感想(0件)


 



この記事へのコメント