0

CAT.NET から、私の Web サイトにクロスサイト リダイレクトの脆弱性があると表示されます。以下のコードには問題があり、リダイレクト攻撃を引き起こす可能性があると書かれています。

this.Response.Redirect(this.Page.Request.Url.ToString());

ユーザーが制御可能な入力が URL に存在する場合、リダイレクト攻撃が発生すると思います。ただし、この場合、URL にユーザー入力はありません。

これが本当に問題なのか、それとも誤検知なのか、誰か教えてもらえますか? これが実際に問題である場合、それはなぜであり、解決策は何ですか?

4

1 に答える 1

1

クロスサイト リダイレクトの脆弱性は、アクションが実行された後にユーザーをリダイレクトする必要があるページを指定するパラメーターがリクエストに追加されている場合に発生します (通常はフォーム認証を使用する場合)。

URL は次のようになりますwww.mysite.com/Logon?returnURL=www.mysite.com/Logon
悪意のあるアクションは、このパラメーターを間違った URL に置き換えることで構成されます。 www.mysite.com/Logon?returnURL=www.hackerSite.com/Logon

returnURLがローカル かどうかを確認することで、それを回避するのは非常に簡単ですif (Url.IsLocalUrl(returnUrl))

あなたの場合、それはフラッシュ ポジティブである可能性がありますが、リダイレクトする前に有効性またはリダイレクト URL を確認することが常にベスト プラクティスです。

于 2014-01-24T10:37:28.087 に答える