次のコードを検討してください。
function redirect() {
window.location = "../../index.aspx?<%=Request.QueryString%>";
}
このコードは安全ですか、それともXSS攻撃によって悪用される可能性がありますか?
もしそうなら:
- どのように?
- それを防ぐ方法は?
次のコードを検討してください。
function redirect() {
window.location = "../../index.aspx?<%=Request.QueryString%>";
}
このコードは安全ですか、それともXSS攻撃によって悪用される可能性がありますか?
もしそうなら:
これをクエリ文字列と見なします。
Xx"; alert('pwned'); window.location ="whatever
基本的に、完全に任意のJavaScriptを挿入することを許可しています。
最善の解決策:ユーザーから直接入力して、このように使用しないでください。
次善の解決策:JavaScript文字列で使用する前に、JavaScript文字列で使用するためにエンコードします。単純な「ここで発生します。
また; このために誤ってHTMLエンコーディングを行わないでください。それは正しく機能せず、依然として脆弱です。