简介:大家好,我是枫哥,一线互联网的IT民工、资深面试官、Java跳蚤网课堂创始人。拥有多年一线研发经验,曾就职过科大讯飞、美团网、平安等公司。在上海有自己小伙伴组建的副业团队,目前业余时间专注Java技术分享,春招/秋招/社招/跳槽,一对一学习辅助,项目接活开发。
扫码左侧二维码,加入群聊,一起学习,一起进步!
欢迎关注 收藏 留言
:文末送福利
防欺诈软件公司 FingerprintJS 日前披露, Safari 15中的IndexedDB API执行漏洞已经被恶意网站利用,它可能被用于跟踪用户的网络浏览数据。更糟糕的是,这个漏洞甚至有暴露用户的身份的风险。
FingerprintJS公司将该漏洞命名为IndexedDB Leaks, 并于2021 年 11 月 28 日向苹果公司报告了该问题。
IndexedDB是网络浏览器提供的低级 JavaScript 应用程序编程接口 (API),用于管理结构化数据对象(如文件和 blob类型数据)的NoSQL 数据库。
Mozilla组织在其API文档中指出:“和大多数网络存储解决方案一样,IndexedDB遵循同源策略,因此用户可以在一个域中访问存储的数据而不能在不同的域中访问数据。”
同源机制是一种基本的安全机制,它确保从不同来源获取的资源彼此隔离。也就是说,URL的方案(协议)、主机(域)和端口号是相互隔离的。通过限制一个源加载的脚本如何与另一个源加载的资源交互可以防止流氓网站运行任意JavaScript代码从另一个域(如电子邮件服务)读取数据,从而隔离潜在的恶意脚本,减少潜在的攻击矢量。
然而,Safari浏览器处理跨 iOS、iPadOS 和 macOS 系统中的 Safari IndexedDB API 的方式并非如此。每次网站与数据库交互时,都会在同一浏览器会话中的所有其他活动框、选项卡和窗口中创建一个具有相同名称的新的空数据库。
这种侵犯隐私的处理方式允许了网站获取用户在不同选项卡或窗口中访问的其他网站。这就更不用说在 YouTube 和 Google 日历等 Google 服务上准确识别用户了。因为这些网站创建的IndexedDB数据库包含了经过认证的谷歌用户ID,这是唯一标识单个 Google 帐户的内部标识符。
这不仅意味着不受信任的或恶意网站可以了解用户的身份,而且还允许网站将同一用户使用的多个单独帐户链接在一起。
雪上加霜的是,如果用户是从浏览器窗口的同一选项卡中访问多个不同的网站的,那么即使他使用的是Safari 15浏览器中的隐私浏览模式也并不能幸免遇难。
“这是一个巨大的漏洞,”谷歌 Chrome 浏览器的开发者倡导者 Jake Archibald 在推特上写道。“在 OSX 操作系统上,Safari 用户可以暂时切换到另一个浏览器以避免他们的数据跨源泄漏,可是iOS 用户没有这样的选择,因为苹果禁止其他浏览器引擎。”
感谢大家,坚持看完,既然选择了这条路,那就一起加油,一起学习!如果需要学习资源,实战面试资料,项目资源。关注公众号:IT枫斗者,根据关键字领取对应的资料福利!咨询解决问题,公众号私聊枫哥,备注来意。
回复:java全套学习资源
回复:面试资料
回复:枫哥简历
回复:程序员表白神器
(从此告别程序员单身狗!)
回复:程序员兼职网站
回复:枫哥666
( 获取66套项目实战资料,大厂面试视频)