为了封堵这方面的漏洞,Firefox 现针对创建 window.name 属性的网站而施加了特定的限制。
此前,网页窗口的 window.name 属性允许以超链接或表单为目标,让用户访问的任何网站都能够调用 window.name 属性,以作为存放任何数据的一口大锅。
但从历史上来看,window.name 中存储的数据,已不受浏览器强制执行的同源策略的禁止,导致网站之间仍可借此进行某种形式的数据共享。
window.name 持续状态下的跨源导航
举个例子,假设位于 https://example.com/ 的页面将 window.name 属性设置为“my-identity@email.com”。
那就算用户点击链接并导航到了 ht编程客栈tps://malicious.com/ 恶意站点 ,该信息也会得到保留。
相当于在用户不知情或未同意的情况下,恶意站点上的页面仍能够读取相关信息。
Firefox 88 清理了 window.name 后的跨源导航
此前多年,追踪公司一直在滥用这方面的泄露细细,并将之有效地转变为跨网站的数据传输渠道。更糟糕的是,恶意站点也能够一窥 window.name 属性中的内容,导致用户在无意间泄露了隐私数据。
庆幸的是,在升编程客栈级到 Firefox 88 之后,浏览器将尝试识别 window.name 的潜在有害使用,并在此种情况下竭力清除、以避免它被滥用。举个例子,若点击的链接未打开弹出窗口,则 Firefox 就只会清除 wiwww.cppcns.comndow.name 。
此外为了避免不必要的体验破坏,若用户导航回到了之前的http://www.cppcns.com站点,Firefox 会自动将 window.name 属性恢复为该站点的先前值。
在这套双重规则的http://www.cppcns.com制约下,Firefox 88 得以有效地将数据限制在原站点范围内(有些类似于 Firefox 的 Cookie 全面防护功能),对防止网站滥用 window.name 来收集用户的个人数据至关重要。
© 著作权归作者所有
发表评论