【问题标题】:How to remove Reflected Cross-site Scripting in the website url name如何删除网站 url 名称中的反射跨站点脚本
【发布时间】:2019-04-01 19:45:36
【问题描述】:

我有我的网站,当我在其中输入 http://someurl/login.aspx/'==alert(1)==' 导致网站打开一个导致反射 XSS 的对话框。

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

如何在我的网站中创建这种功能以避免将来出现与 XSS 相关的任何安全问题。

【问题讨论】:

    标签: security xss csrf owasp


    【解决方案1】:

    将您的请求参数编码为 javascript 编码形式。市场上还有许多库可用于对您的参数进行编码。 此外,请确保 JavaScriptEncode 方法必须用于 HTML 绑定快捷方式 (

    【讨论】:

    • 你能举个例子吗。我是这个领域的新手。谢谢
    • 我在下面的评论中分享了一个基本示例。
    【解决方案2】:

    请分享处理查询参数的代码 (==alert(1)==)。您可能会在不经过清理的情况下获取用户输入,然后在 JS 上下文中将其打印回浏览器。详情请见here

    【讨论】:

    • 我只是输入网址someurl/login.aspx/'==alert(1)==' 而不是someurl/login.aspx。较早的一个给我警告框说 1。我希望它显示一个错误页面。我的应用程序在 .net 中
    • 请分享您的代码,如果没有它,将很难建议如何修复。一般来说,如上所述 - 使用消毒(见guide)应该可以解决问题。
    【解决方案3】:

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

    }

    【讨论】:

      猜你喜欢
      • 2019-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-24
      • 1970-01-01
      相关资源
      最近更新 更多