【おーぷんりだいれくと】
オープンリダイレクト とは?
最終更新:
💡 正規サイトのリンクが、別のサイトへの入口に
サイトが信頼できない入力を転送先に使い、攻撃者が任意の外部サイトへ利用者を誘導できる脆弱性。正規サイトから始まるリンクをフィッシングなどに悪用できる。外部への転送機能やURLパラメータがあるだけで、必ず脆弱性になるわけではない。
📌 このページのポイント
- 転送先を攻撃者が自由に指定できることが問題
- 正規サイトから始まるリンクを悪用できる
- 転送後のアドレスは、転送先のものになる
- 許可した転送先やサーバー側の対応表で制限する
リダイレクトは、普通の機能だよね?
そうだよ。古いページから新しいページへ案内するなど、正常な用途がある。問題は、利用者が渡した値を十分に検証せず、攻撃者が任意の外部URLへ転送させられることなんだ。
正規サイトのリンクでも、危ないの?
たとえばリンクの前半が正規サイトでも、転送先の指定が攻撃者のサイトになっている場合があるよ。最初のドメインを見て安心させ、別のサイトへ誘導するために悪用できるんだ。
移動しても、アドレスは同じに見える?
別のサイトへ移動すれば、ブラウザーのアドレスも転送先に変わるよ。移動前のアドレスがずっと残るわけではない。リンクを信じて開いた後、移動先を確認せず情報を入力すると、フィッシングの被害につながるんだ。
トークンも、自動で盗まれる?
作る側は、どう防ぐ?
まとめ:ざっくりこれだけ覚えればOK!
「オープンリダイレクト」って出てきたら「正規サイトを入口に、勝手な転送先へ誘導できる穴」と思えばだいたいOK!
📖 おまけ:英語の意味
「Open redirect」 = 制限されていない転送
💬 Redirectは別のURLへ移動させること。転送先の指定が適切に制限されず、悪用できる状態を指すよ。