私はオープンリダイレクトについてOWASP PAGEとGoogle blog articleを含め、このトピックへの記事の多くを読む...
私もopen redirects here on stack overflowにこの質問を見つけましたが、それは別のものOWASP TOP10 - #10未検証のリダイレクトとフォワード
なぜ私はリダイレクトしてはいけないのか知っています...これは私にとって完全に意味をなさないものです。
しかし、私が実際に理解していないこと:リダイレクトとこれを通常の<a href
リンクに置くことの違いはどこですか?
ユーザの中にはステータスバーを見ている人がいるかもしれませんが、リンクをクリックしたときにステータスバーを見ている人はほとんどいないと思います。
これは本当に唯一の理由ですか? articleこの上のように、彼らは書いた:
<a href="http://bank.example.com/redirect?url=http://attacker.example.net">Click here to log in</a>
をユーザーがURLがその信頼される銀行、bank.example.comで始まるので、リンクが安全であることを仮定してもよいです。ただし、ユーザーは攻撃者のWebサイト(attacker.example.net)にリダイレクトされ、攻撃者はbank.example.comと非常によく似ている可能性があります。ユーザは、無意識のうちに、攻撃者のウェブページに信任状を入力し、銀行口座を盗む可能性がある。 Javaサーブレットは、リダイレクトアドレスが信頼できるサイトであることを確認せずに、ユーザーをURLにリダイレクトしてはなりません。
ゲストブックのように、ホームページにリンクを張ることができるのであれば、唯一の違いはリンクがリダイレクトされないことですが、それでも邪悪なウェブページに行きます。
私はこの問題を正しく見ていますか?
リンクがある場合、クリックする前にリンクターゲットを確認する機会があります。また、あなたのウェブサイトに何らかのHTMLインジェクション/ XSS脆弱性がない限り、*あなたはすべてのリンクターゲットを制御します*。ユーザが提供するリンク(ゲストブックなど)は、そのようなものとしてはっきりと認識できなければなりません。 –