【问题标题】:X-XSS-Protection vs CSPX-XSS 保护与 CSP
【发布时间】:2015-10-03 11:12:13
【问题描述】:

据我了解,CSP 可用于所有与X-XSS-Protection 相同的事情等等。如果您正在使用 CSP,是否有充分的理由同时使用 X-XSS-Protection

【问题讨论】:

    标签: http-headers content-security-policy


    【解决方案1】:

    是否有充分的理由也使用 X-XSS-Protection?

    With some doubts(见下面凯文的评论)答案可能是肯定的。

    X-Xss-Protection 激活启发式反射 xss 检测功能。反射型xss以参数的形式出现,便于判断潜在攻击的范围。

    浏览器执行 HTML。根据定义,浏览器不能为服务器生成的 HTML 代码的数据安全提供任何保证。除非您使用 CSP,否则无法确定可信与恶意 javascript。 CSP 允许您选择浏览器执行的 javascript。

    不允许内联 javascript、eval 或 3rd 方源的强制 CSP 非常可靠,x-xss-protection 对您的大多数用户几乎没有好处。

    如果您用户的浏览器支持 CSP。

    x-xss-protection 已被 IE 支持多年。因此,如果有人使用 IE x-xss-protection 可以提供帮助。

    所以,是的。两个都。总是。如果每个网站都部署两者,互联网将是一个更安全的世界。

    Consensus has changed since this was originally written。现在建议使用X-Xss-Protection: 0 明确禁用该功能。

    我还没有深入挖掘,但是我还没有找到一个使用CSP但不是x-xss-protection的网站

    for i in twitter.com vine.co github.com
    do
       echo "$i"
       curl -Is "https://$i" | grep -iE "(x-xss-protection|content-security-policy)"
    done
    

    【讨论】:

    • Firefox 也不支持反射-xss(用 47.0.1 测试)。 Chrome 支持但不支持将违规发送到 report-uri。因此,在这一点上,将 CSP 用于反射 xss 没有任何好处。
    • 作为对立面,本文强调了 X-XSS-Protection 实现的一些问题,并提到由于漏洞利用,Fb 实际上必须使用X-XSS-Protection: 0 显式禁用它。 blog.innerht.ml/the-misunderstood-x-xss-protection 对您的网站是否有益最终取决于小细节。如果您认为这一点值得考虑,您可以考虑调整您的答案。
    • 我稍微改变了措辞并引用了您的链接
    【解决方案2】:

    内容安全政策

    内容安全政策 (CSP) 是一些兼容浏览器添加的额外安全层。通过适当的配置,CSP 有助于缓解某些攻击,例如 XSS 和脚本注入攻击或数据包嗅探攻击。 从技术上讲,如果后端提供标头 Content-Security-Policy,则启用 CSP。或者,它也可以由前端启用。它是通过使用以下元素来完成的:

    <meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src https://*; child-src 'none';">

    CSP 通过将执行的 javascript 源列入白名单来帮助阻止 XSS,其中还包括内联脚本和事件处理 HTML 属性。白名单由管理员配置。管理员可以决定是否所有 javascript 链接都指向相同的来源、特定域以及每个域期望的媒体类型。配置示例:

    同源:Content-Security-Policy: default-src 'self'

    显式可信域:Content-Security-Policy: default-src 'self' *.trusted.com

    X-XSS-保护

    此标头的目标是阻止加载页面中的 XSS。管理员获得了最少的配置选项,例如报告 url、阻止页面加载... 使用正确的 CSP 配置,此标头不是很有效。特别是在现代浏览器中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-14
      • 2014-02-10
      • 2012-08-17
      相关资源
      最近更新 更多