针对跨站攻击的现代解决方案

主要观点:

  • 本文主要讨论跨站泄漏攻击(xsleaks)及应对措施,如介绍了XMLHttpRequest及其替代函数fetch,指出真实世界的实践往往落后于最佳实践,很多攻击与特定网站行为相关,存在大量跨站泄漏情况。
  • 详细阐述了几种应对跨站泄漏的安全措施,包括Cross-Origin-Opener-Policy(COOP)可控制跨源弹窗的窗口句柄,Cross-Origin-Resource-Policy(CORP)防止内容被跨站嵌入,Fetch Metadata Request Headers能提供更精细的安全控制。
  • 通过互动演示展示了这些安全措施的效果,并给出了相关的 PHP 代码示例,强调安全是渐进式改进的,需主动行动。

关键信息:

  • XMLHttpRequest最初由微软在 IE5 中构建,后成为标准,fetch已存在近 10 年且浏览器仍支持XMLHttpRequest
  • xsleaks 可通过多种方式泄漏信息,如跨源弹窗的length属性可用于登录检测等,研究发现很多热门网站存在此问题。
  • 移除分布式系统中的 API 通常需遵循四步,但在 Web 上无法控制新代码编写,最好提供选择退出机制。
  • COOP 可控制跨源弹窗的窗口句柄,CORP 防止内容被跨站嵌入,Fetch Metadata Request Headers 可提供更精细的安全控制。

重要细节:

  • 展示了不同情况下浏览器窗口、弹窗及相关属性的图示,如同一源的弹窗有全双向访问,跨源弹窗访问受限但仍有部分信息泄漏。
  • 提供了互动演示页面[https://noframes.on.web.secur...]及相关的 PHP 代码示例,用于说明Fetch Metadata Request Headers的使用。
  • 列出了相关的参考资料,如[xsleaks.dev]、[MDN 上的各种安全头相关页面]等。
阅读 7
0 条评论