【问题标题】:how to solve OWASP ZAP reported "alert(1);" XSS vulnerability如何解决 OWASP ZAP 报告的“alert(1);” XSS 漏洞
【发布时间】:2014-05-23 21:03:54
【问题描述】:

在对我们的应用程序运行 OWASP ZAP 扫描工具后,当该工具使用此字符串进行攻击时,我们看到了许多 XSS 漏洞:

" onMouseOver="alert(1);

;alert(1)

所以这样的字符串会出现在服务器响应中。虽然它在浏览器中没有做任何事情。可能是在尝试向 Html 标签插入额外的属性,但是如何解决呢?

【问题讨论】:

  • 为了让别人发现问题,您需要展示您的脚本。否则,他们只是在猜测。

标签: javascript xss owasp zap


【解决方案1】:

如果您可以发布围绕注入攻击的 html,那么这可能就足够了。如果您在 ZAP 中选择警报,则攻击将在“响应”选项卡中突出显示。 请注意,我们刚刚发布了更新的活动扫描规则,它修复了反射 XSS 扫描规则中的误报,因此请确保您更新规则然后再次扫描。

【讨论】:

  • 它已经更新到最新版本。一种情况是当用户选择搜索条件时,我们将在页面中显示它,从 ZAP 复制的 HTML 为:访问的页面:常规;日期范围:2011 年 1 月 1 日至 2011 年 2 月 1 日;用户姓氏包含:" onMouseOver="alert(1);; 意思是:用户选择了“General”页面,在日期范围内搜索姓氏包含“onMouseOver="alert(1);的用户”
  • 啊,我想我明白为什么会这样了。 ZAP 没有考虑到内部的“span”标签。我已将其作为一个问题提出:code.google.com/p/zaproxy/issues/detail?id=1222 如果您对此加注星标,那么当我们解决它时您将得到更新。非常感谢,西蒙
【解决方案2】:

了解跨站点脚本漏洞会对您的应用程序造成什么影响。简短的回答是进行输入验证或输出编码,这样您就不会将恶意输入视为实际脚本。

详细答案可以在:https://www.owasp.org/index.php/Top_10_2013-A3-Cross-Site_Scripting_(XSS)

解决方案备忘单在这里:https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet

希望对你有帮助

【讨论】: