オープンリダイレクト (Open Redirect) とは、Web アプリケーションが外部から渡された URL パラメータの値を検証せずにリダイレクト先として使用してしまう脆弱性です。OWASP (Open Web Application Security Project) が定義する主要な Web セキュリティリスクの 1 つです。
具体例を示します。「https://trusted-site.com/redirect?url=https://evil-site.com」のような URL で、trusted-site.com が url パラメータの値を検証せずにリダイレクトすると、ユーザーは信頼できるドメインのリンクをクリックしたつもりで悪意のあるサイトに誘導されます。
オープンリダイレクトがフィッシング攻撃に悪用される理由は、信頼できるドメインの URL がリンクの入り口になるためです。メールのセキュリティフィルターやユーザー自身の目視チェックでは、リンクの先頭が正規のドメインであれば安全と判断しがちです。
短縮 URL サービスは本質的にリダイレクトサービスであるため、オープンリダイレクトの問題と密接に関わります。悪意のあるユーザーが短縮 URL サービスを使ってフィッシングサイトへのリンクを作成するケースは実際に発生しています。対策として、主要な短縮 URL サービスはマルウェアスキャン、ブラックリスト照合、スプラッシュページ (リダイレクト前の警告画面) などの安全機能を実装しています。
開発者がオープンリダイレクトを防ぐには、リダイレクト先をホワイトリストで制限する、相対 URL のみ許可する、リダイレクト先のドメインを検証するなどの対策が有効です。URL パラメータをそのままリダイレクト先に使う実装は、どのような場合でも避けるべきです。関連書籍は Amazon でも探せます。