哪些浏览器容易受到多个 x-frame-options 的影响

2024-05-05

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

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


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

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

对于消息头 X-FRAME-OPTIONS,只有这 3 个值被识别为有效; ”DENY", "同源" and "允许来自"。这些值是互斥的,这意味着只有这些值应该出现,并且标头中只能出现其中一个。

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


HTTP/1.1 200 好
服务器:nginx/1.11.3
日期:2017 年 5 月 24 日星期三 04:31:29 GMT
内容类型:text/html;字符集=UTF-8
内容长度:5870
连接:保持活动状态
X 帧选项:拒绝
X-内容类型选项:nosniff
X-XSS-保护:1;模式=块
设置 Cookie:JSESSIONID=9F18D25951F107BE4C528CD787A3FE2F;路径=/;安全的;仅HTTP
最后修改时间:2017 年 2 月 2 日星期四 22:41:36 GMT
ETag:W/“5870-1486075296000”
变化:接受编码
X 框架选项:SAMEORIGIN
严格传输安全:max-age=31536000;包含子域
X-内容类型选项:nosniff
X-XSS-保护:1;模式=块


请注意,服务器响应 2X 框架选项消息头

X 框架选项:拒绝
X 框架选项:SAMEORIGIN

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

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

[1] https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html
[2] https://blog.qualys.com/securitylabs/2015/10/20/clickjacking-a-common-implementation-mistake-that-c​​an-put-your-websites-in-danger 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/ https://wordpress.org/support/topic/multiple-x-frame-options-headers-with-conflicting-values-sameorigin-deny/

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

Cheers,
米琳达.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

哪些浏览器容易受到多个 x-frame-options 的影响 的相关文章

  • 如何添加 Maven 执行任务以在“mvn test”上执行

    我的 pom 中有以下 exec 任务
  • EDI AS2 HTTP 跟踪?

    我们正在研究 AS2 实现 并希望能够构建有意义的测试用例以与 SoapUI 或 Postman 一起使用 为了做到这一点 我们有两种方法 只是尝试从现有客户端进行 tcp 转储 跟踪调用 从普通 EDI 文档开始手动构建一些简单的调用 或
  • 如何检测CSRF漏洞[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 给定一个网站 如何检测潜在的 CSRF 漏洞 提前致谢 这是一个CSRF https www owasp org index php
  • 查询参数和assert_generates/assert_routing - 我缺少什么?

    我想我已经介绍了使用查询参数测试路由的排列 但没有一种方法通过 在我的 paths rb 中 我有以下内容 resources items 然后对于我的功能测试我有 require ruby debug require test helpe
  • Perl 单元测试只针对模块,而不针对程序吗?

    我在网上找到的文档和我拥有的书 Perl测试 或者说或者建议 Perl 的单元测试通常是在创建模块时完成的 这是真的 有没有办法使用单元测试实际程序Test More和表兄弟姐妹 当然 您可以使用测试脚本测试 更多 http search
  • ActiveMQ发送ObjectMessage

    我正在使用 ActiveMQ 在我当前的项目中实现消息系统 我需要发送和接收 Java 对象 而不是简单的文本或二进制消息 Java 对象 我的消息对象 根据需要实现了 Serialized 接口 ActiveMQ 的最新版本添加了一些安全
  • JavaScript 中的安全数据

    我必须为 Web 测试创建生成器 使用 HTML 和 JavaScript 测试必须离线和在线进行 正确答案和分数评估必须是生成的测试的一部分 最终用户的分数仅发送到服务器 无法在服务器上进行评估 并且服务器对问题一无所知 它只保存最终分数
  • 支持 API 28(Android Pie) 上的 Android StrongBox 的 Android 智能手机列表

    我需要 Android 9 中支持安全元件和 StrongBox 的 Android 手机列表 在哪里或如何找到该列表 我在 Samsung Galaxy S9 和 AVD Google Pixel XL API 28 上尝试了下面的代码
  • 非加密用途的最快哈希值?

    我本质上是在准备要放入数据库的短语 它们可能格式错误 所以我想存储它们的简短散列 我将简单地比较它们是否存在 所以散列是理想的 我假设 MD5 在处理 100 000 个请求时相当慢 所以我想知道散列短语的最佳方法是什么 也许推出我自己的散
  • 如何测试包含自定义表单控件的组件?

    我有一个这样的组件 Component selector app custom form control templateUrl
  • 如何使用 jest 通过 Promise.all 设置多次提取测试

    我在测试中使用 jest 我正在使用 React 和 Redux 并且执行以下操作 function getData id notify return dispatch gt dispatch anotherFunction Promise
  • 客户端登录 - 如何在客户端安全地存储凭据?

    许多 API 都提供通过用户 密码组合远程访问其数据的功能 我想知道存储这些值的最佳方式是什么 高度安全的方式 即使 100 是不可能的 以便直接连接它们而无需每次都询问这些值 我推荐以下三种方法之一 使用身份验证令牌完全避免存储密码 在此
  • 使用 Javascript eval() 100% 安全吗?

    我正在编写一个生成 Javascript 代码的 PHP 库 Javascript 代码有许多名为component001 component002 etc 页面通过 AJAX 动态加载 我需要通过 URL 变量传递组件的名称 然后由脚本进
  • 错误:找不到模块“jasmine-core”

    我安装了以下内容进行测试 devDependencies jasmine core 2 4 1 karma 0 13 22 karma jasmine 0 3 7 karma phantomjs launcher 1 0 0 运行后karm
  • 如何通过 PDO 使用密码哈希来使我的代码更安全? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我的代码实际上可以工作 但它一点也不安全 我不想使用 MD5 因为它不是那么安全 我一直在查找密码哈希 但我不确定如何将其合并到我的代
  • ajax 会增加还是降低安全性?

    我正在创建一个网站 到目前为止它是纯 PHP 的 我在想 既然很少有人没有启用 JavaScript 我想知道为什么 也许我应该将我的网站创建为一个完全 PHP 的网站 而不使用任何 AJAX 难道是我想错了 可以肯定的是 如果我实施一些
  • 如何测试某些代码在 C++ 中无法编译? [复制]

    这个问题在这里已经有答案了 可能的重复 单元测试编译时错误 https stackoverflow com questions 605915 unit test compile time error 我想知道是否可以编写一种单元测试来验证给
  • Selenium 中的断言和验证

    有人可以解释一下断言和验证之间的区别吗 我知道验证意味着它检查它是否存在 如果不存在 则测试失败并停止在那里 正确吗 那么 即使断言失败了 断言还会继续吗 我已经阅读了文档 但仍然无法理解它 不 你已经搞反了 在 Selenium IDE
  • 使用 jasmine 在 angularJS 中注入服务来测试控制器

    我想了解如何使用 jasmine 和 angularJS 测试我的代码 我编写了一个带有控制器和注入服务的测试项目 现在我想测试控制器并尝试模拟注入的服务 但我没有找到一种方法来测试我的控制器的 到达 功能 这是我的jsfiddle htt
  • PHPUnit\Framework\TestCase 和 Tests\TestCase 有什么区别?

    我注意到在示例测试中 这两个类是内置的 功能测试 gt use Tests TestCase 单元测试 gt PHPUnit Framework TestCase 两者有什么区别 在什么情况下您会使用其中一种 PHPUnit Framewo

随机推荐

  • 在ReactJS中,如果我们不为useEffect提供依赖数组,是否会导致该函数每次都被调用?

    我看到在ReactJS 文档 https reactjs org docs hooks overview html的依赖数组useEffect fn 是可选的 不提供它应该与提供空数组相同 但是 如果我的代码如下 https codesan
  • boost::serialization 序列化期间内存消耗较高

    正如主题所示 在将大量数据序列化到文件时 我遇到了 boost serialization 的一个小问题 问题在于应用程序序列化部分的内存占用量大约是要序列化的对象内存的 3 到 3 5 倍 值得注意的是 我拥有的数据结构是基类指针和指向该
  • 新的 Angular 项目不包含 e2e 文件夹

    我的系统上已经安装了 Angular 并且大约 7 8 个月前曾短暂使用过它 不久前 我创建了一个新的 Angular 项目 ng new testproject 奇怪的是 e2e 文件夹没有创建 我尝试卸载 CLI 清除缓存并重新安装 A
  • 使用抽象类型的反射从表中获取实体

    好的 我有一个名为 Product 的抽象类 我有 3 个表 分别称为 Items Kits 和 Packages 它们实现了 Product 产品具有公开对象主键的公共属性 也就是说 我有一个传递产品的表格 我想将该产品从新的数据上下文中
  • 读取输入文件的部分内容

    我想读取 C 中的输入文件 其结构 或缺乏 将类似于一系列带有以下内容的行 文字 数字 例如 input1 10 input2 4 set1 1 2 set2 1 e3 我想把这个号码从队列中取出 然后把剩下的扔掉 数字可以是整数或双精度数
  • 如何在 Xamarin Forms 中对列表进行分组?

    我需要将下面的列表以 xamarin 形式与公司名称进行分组并需要在 ListView 中显示 我研究过 ObservableCollection 是可能的 但我不知道该怎么做 任何人都可以帮助实现这一目标吗 List public cla
  • 通过使用计时器(或处理程序)更改 ImageView 中的图像来创建动画

    我想通过更改 ImageView 内的帧来创建一个简单的动画 我不想使用 AnimationDrawable 因为我需要在帧更改或动画停止时接收事件 以便能够向后播放 重新启动等等 我的问题是 尽管 setImageDrawable 被调用
  • 僵局澄清?

    也许对 死锁 还有其他解释 但据我所知 当发生死锁时两个线程各自等待一个资源 另一个 所以两者都无法继续 但我在这里看到了几个答案 它们声称长时间的等待 不互相等待 也是一个僵局 例子 1 https stackoverflow com a
  • powershell有method_missing()吗?

    我一直在研究 powershell 的动态功能 我想知道一些事情 powershell 中是否有类似于 Ruby 的 method missing 的东西 您可以在其中设置 捕获所有方法 来动态处理对对象上不存在的方法的调用 不 不是真的
  • 如何在GreenDao中实现表继承

    我一直在尝试创建一个数据库 其中所有表都继承某个元素 以便有可能拥有元数据 我在模型生成器的所有表声明中添加了这一行 public Entity addSuperEntity Schema schema Entity superEntity
  • 检查隐藏是否等于 true 或 false jQuery

    我有这个 div attr hidden true i tried var a div attr hidden var b div attr hidden val var c div hidden var a div disabled 我只
  • 使用 PHP / Javascript 检测应用内浏览器 (WebView)

    我开发了一个适用于 iOS 和 Android 的应用程序 它使用应用程序内浏览器 Webview 从我的网络服务器访问 HTML 文件 我不希望用户可以在不使用该应用程序的情况下访问此文件 是否有可能检测用户是否使用应用程序或直接通过此智
  • 数字签名的值错误

    我正在尝试为文本块创建数字签名 虽然我似乎能够创建签名 但它与我们的测试用例所需的数字测试签名不同 我正在使用的代码如下 X509Store store new X509Store StoreName My StoreLocation Cu
  • 将 html 注入 thymeleaf 模板

    我的数据库中有百里香模板 首先 我检索模板并处理它 String processedTemplate templateEngine process databaseTemplate context So now processedTempl
  • 在 Safari 中转换变换和大小 (9.1)

    我试图在元素上实现平滑过渡transform translate 和一些其他属性 是的 我读过有关匹配供应商前缀的内容 它在 Chrome 和 FF 中工作正常 但在 Safari 中它不能平滑地动画转换 在最后跳转 在应用翻译之前 它似乎
  • VBScript 中的对象/类字典

    vbscript 中是否可以有对象 类的字典 例如 Class employeeclass Public first last salary End Class Dim employeedict Set employeedict Creat
  • 使 Selenium 记录 ID,而不是路径

    当我使用FF插件时它记录了我与之交互的元素的路径 如果 DOM 根据用户交互而发生重大更改 元素ID更方便 保证不受影响 我可以记录所有内容并手动更改 ID 的路径 但我想知道是否有更聪明的方法来做到这一点 我认为没有办法做到这一点 根据我
  • 签名 URL 在过期日期后仍然有效

    我创建了一个签名 URL 有效期为 2 天 尽管过期 但它仍然有效 我希望它给出一些错误 3XX 4XX 测试脚本 https gist githubusercontent com forvaidya 984003008b0603ca679
  • 如何使用活动模型为 date_select 下拉菜单定义虚拟属性

    我在应用程序中使用活动模型进行付款流程 但我无法添加信用卡到期日期字段 因为它会引发如下错误未定义方法 card expiration date 3i 在我的模型中 class CartServer include ActiveModel
  • 哪些浏览器容易受到多个 x-frame-options 的影响

    我正在做一个网络应用程序测试 发现多个 x frame options 标头条目存在一些漏洞 哪些浏览器容易受到多个 x frame options 的攻击 Multiple x frame options 标头条目可能受到哪些攻击 点击劫