オープンリダイレクト 【open redirect】
概要
オープンリダイレクト(open redirect)とは、Webアプリケーションの脆弱性の一つで、外部から指定可能な任意のURLへの遷移(リダイレクト)が機能に含まれていること。攻撃者によって悪意のあるサイトへの誘導に悪用される恐れがある。Webアプリケーションの中には、利用者の操作に応じてあるページから別のページへ自動的に遷移する機能が必要になる場合がある。その際、「https://www.example.jp/app.php?redirect=遷移先URL」といったようにURLパラメータとして遷移先のURLを渡すなどの方法で、任意に遷移先を指定あるいは変更できる仕組みにすることがある。
このようなサイトでは誰でも自由に任意のサイトへ誘導するURLを作成できるため、攻撃者が「https://安全なサイト/リダイレクト機能?遷移先=危険なサイト」という構成のURLを用意し、標的の利用者に安全なサイトであるように錯覚させて危険なサイトに誘導するといった手口に悪用できてしまう。
オープンリダイレクトが生じないようにするには、遷移先を任意に指定できないようにする必要がある。URLパラメータのように誰でも簡単に書き換えられる仕組みは用いず、サーバ側で遷移先を静的に指定するようにしたり、止むを得ず指定可能にする場合でもリダイレクト処理を実行する前に遷移先に指定されたURLのチェックを厳格に行うといった対策が必要となる。
(2023.7.21更新)