(图自:Mozilla Blog)
跨站攻击的背后,其实涉及 Web 的基本安全问题。出于开放的特性,其难以允许 Web 服务器端严格区分自身应用程序(浏览器选项卡)的请求、或源自可能以不同方式打开的恶意(跨站点)应用程序的请求。
如上图所示,假设用户登录了托管于 https://banking.com 的银行网站,并开展了网银相关的某些活动。
与此同时,被恶意攻击者控制的网站、也可在不同的浏览器标签页中打开并执行来自 https://attacker.com 的一些恶意操作。
于是在用户正常交互的过程中,网银 Web 服务器端可能收到某些例外操作,但却几乎无法分辨到底由用户本人、还是另一标签页中的恶意攻击代码发起的操作。
最终导致网银或常见的 Web 应用程序服务器刻板地接收任意操作,并允许发起相关攻击。
好消息是,从 Firefox 90 开始,Mozilla 将允许 Web 浏览器通过 HTTP 请求头来获取元数据(Sec-Fetch-*),从而让 Web 服务器更好地区分同源 / 跨站攻击请求。
借助 Sec-Fetch-* 系列请求标头中提供的附加上下文(支持 Dest、Mode、Site、以及 User 这四种请求标头),Web 服务器将能够火眼金睛地拒绝或忽略恶意请求。
Fetch Metadate 请求标头的启用,可为各种 Web 应用服务带来深度防御机制。此外 Firefox 将很快推出新的站点隔离安全架构,以进一步解决上述某些问题。
Mozilla Firefox 90 下载地址:
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/38193.html