【发布时间】:2019-04-01 19:45:36
【问题描述】:
我有我的网站,当我在其中输入 http://someurl/login.aspx/'==alert(1)==' 导致网站打开一个导致反射 XSS 的对话框。
当我尝试其他网站(例如 google 或 facebook)时,它们都导致找不到页面 404 页面。
如何在我的网站中创建这种功能以避免将来出现与 XSS 相关的任何安全问题。
【问题讨论】:
我有我的网站,当我在其中输入 http://someurl/login.aspx/'==alert(1)==' 导致网站打开一个导致反射 XSS 的对话框。
当我尝试其他网站(例如 google 或 facebook)时,它们都导致找不到页面 404 页面。
如何在我的网站中创建这种功能以避免将来出现与 XSS 相关的任何安全问题。
【问题讨论】:
将您的请求参数编码为 javascript 编码形式。市场上还有许多库可用于对您的参数进行编码。 此外,请确保 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);
}
【讨论】: