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