【问题标题】:what browsers are vulnerable for multiple x-frame-options哪些浏览器容易受到多个 x-frame-options 的攻击
【发布时间】:2017-10-23 13:34:23
【问题描述】:

我正在做一个 Web 应用程序测试,并发现有多个 x-frame-options 标头条目存在一些漏洞。哪些浏览器容易受到多个 x-frame-options 的攻击?

Multiple x-frame-options 标头条目可能受到哪些攻击? ClickJacking 似乎是一种困难的方法,因为这在较新的浏览器中是不可能的。

【问题讨论】:

    标签: security testing x-frame-options


    【解决方案1】:

    根据RFC7034 [1],允许设置多个同名的消息头。当存在此类消息头时,它们通常被连接起来(Firefox),并且单个消息头由浏览器(客户端)形成,因为 RFC 允许这样做。

    可能存在多个具有相同字段名的消息头字段 在消息中当且仅当该标头的整个字段值 字段被定义为逗号分隔的列表 [即,#(values)]。它必须 可以将多个标题字段合并为一个 “field-name: field-value”对,不改变语义 消息,通过将每个后续字段值附加到第一个,每个 用逗号分隔。

    对于消息头 X-FRAME-OPTIONS,只有这 3 个值被识别为有效; “拒绝”、“SAMEORIGIN”和“允许”。这些值是互斥的,这意味着只有这些值应该存在,并且标头中也只能存在其中一个。

    假设服务器设置了 2 个同名的消息头。


    HTTP/1.1 200 正常
    服务器:nginx/1.11.3
    日期:格林威治标准时间 2017 年 5 月 24 日星期三 04:31:29
    内容类型:text/html;charset=UTF-8
    内容长度:5870
    连接:保持活动
    X-Frame-Options:拒绝
    X-Content-Type-Options: nosniff
    X-XSS-防护:1;模式=阻止
    设置 Cookie:JSESSIONID=9F18D25951F107BE4C528CD787A3FE2F;路径=/;安全的; HttpOnly
    最后修改时间:格林威治标准时间 2017 年 2 月 2 日星期四 22:41:36
    ETag:W/“5870-1486075296000”
    变化:接受编码
    X-Frame-Options:SAMEORIGIN
    严格的传输安全性:max-age=31536000;包括子域
    X-Content-Type-Options: nosniff
    X-XSS-防护:1;模式=块


    请注意,服务器正在响应 2 个 X-FRAME-OPTIONS 消息头

    X-FRAME-OPTIONS:拒绝
    X-FRAME-OPTIONS:SAMEORIGIN

    在 Firefox(不仅仅是 Firefox)中,这将被浏览器引擎解释为 X-FRAME-OPTIONS:"DENY,SAMEORIGIN"。尽管 RFC 允许串联,但由于这些标头值是互斥的,因此浏览器会尝试将 DENY,SAMEORIGIN 解释为一个单一元素,这会导致反点击劫持措施失败。

    这是一个不错的博客 [2],它进一步解释了这一点,并且 [3] 谈到了类似的问题。

    [1]https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html
    [2]https://blog.qualys.com/securitylabs/2015/10/20/clickjacking-a-common-implementation-mistake-that-can-put-your-websites-in-danger
    [3]https://wordpress.org/support/topic/multiple-x-frame-options-headers-with-conflicting-values-sameorigin-deny/

    希望您会发现此信息有用。 :)

    干杯,
    米琳达。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-27
      • 2021-12-10
      • 2020-11-27
      • 2015-12-31
      • 1970-01-01
      • 2016-04-29
      • 2015-06-08
      • 1970-01-01
      相关资源
      最近更新 更多