主要观点:
- 本文主要讨论跨站泄漏攻击(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 上的各种安全头相关页面]等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。