我有我的网站,当我输入http://someurl/login.aspx/'== alert(1)=='导致网站打开一个对话框,导致反映的XSS。
当我尝试其他网站,如谷歌或脸书时,他们都导致找不到页面404页面。
如何在我的网站中创建这种功能,以避免任何与XSS相关的未来安全问题。
将您的请求参数编码为javascript编码形式。市场上还有许多库可用于对参数进行编码。此外,请确保必须在HTML绑定快捷方式(<%#:)上使用JavaScriptEncode方法,因为该快捷方式仅适用于HTML上下文。
请分享处理查询参数(==alert(1)==
)的代码。您可能在没有清理的情况下获取用户输入,并在JS上下文中将其打印回浏览器。有关详细信息,请参阅here。
这是javascript中url编码的基本示例
var uri = 'https://mozilla.org/?x=шеллы';
var encoded = encodeURI(uri);
console.log(encoded);
// expected output: "https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B"
try {
console.log(decodeURI(encoded));
// expected output: "https://mozilla.org/?x=шеллы""
} catch(e) { // catches a malformed URI
console.error(e);
}