如何在网站网址名称中删除反映的跨站点脚本

时间:2019-03-20 09:58:53

标签: security xss csrf owasp

我有我的网站,当我键入 http://someurl/login.aspx/'== alert(1)=='  导致网站打开一个指向已反映的XSS的对话框。

当我尝试其他网站(例如google或facebook)时,它们都导致找不到404页面。

如何在我的网站上创建此类功能以避免将来与XSS相关的安全问题。

3 个答案:

答案 0 :(得分:1)

将您的请求参数编码为javascript编码形式。市场上也有许多库可以对您的参数进行编码。 另外,请确保必须在HTML绑定快捷方式(<%#:)上使用JavaScriptEncode方法,因为该快捷方式仅适用于HTML上下文。

答案 1 :(得分:0)

请共享用于处理查询参数(==alert(1)==)的代码。您可能会在不进行消毒的情况下接受用户输入,然后在JS上下文中将其打印回浏览器。有关更多详细信息,请参见here

答案 2 :(得分:0)

这是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);

}