Screencastify修复了可能让流氓网站监视网络摄像头的错误

发布时间:2022-05-24 09:06

creencastify 是一种流行的用于从网站捕获和共享视频的 Chrome 扩展程序,最近发现它容易受到跨站点脚本 (XSS) 漏洞的攻击,该漏洞允许任意网站欺骗人们在不知情的情况下激活他们的网络摄像头。

然后,利用此漏洞的不法分子可以从受害者的 Google Drive 帐户下载生成的视频。

ad amelioration biz Eyeo 的联合创始人、软件开发人员 Wladimir Palant 周一发表了一篇关于他的发现的博客文章。他说他在 2 月份报告了 XSS 漏洞,Screencastify 的开发人员在一天内修复了它。

但 Palant 认为,浏览器扩展继续构成风险,因为代码信任多个合作伙伴子域,并且其中任何一个站点上的 XSS 漏洞都可能被滥用来攻击 Screencastify 用户。

Chrome Web Store 上的Screencastify 页面显示,该浏览器扩展拥有超过 1000 万用户,这是商店指标列出的最大值。正如 Palant 指出的那样,扩展是针对教育市场的,带来了一些不愉快的可能性。

“该扩展授予 screencastify.com 足够的权限,可以通过用户的网络摄像头录制视频并获得结果,”他在帖子中解释道。“不需要用户交互,只有极少的视觉指标来表明正在发生的事情。甚至可以掩盖你的踪迹:从 Google Drive 中删除视频并使用另一条消息关闭录制后打开的扩展选项卡。”

令人担忧的是,扩展代码为其他几个域提供了相同的权限:不仅通过app.screencastify.com域的 Screencastify,而且还通过 Screencastify 子域的 Webflow、Teachable、Atlassian、Netlify、Marketo、ZenDesk 和 Pendo。

而且,Palant 说,Screencastify 域或委托给合作伙伴的子域都没有有意义的内容安全策略保护——一种减轻 XSS 风险的方法。

Palant 的概念验证利用涉及在 Screencastify 代码中查找 XSS 错误,这并不是一项特别困难的任务,因为它们很常见。NIST 数据库列出了从 2001 年至今的近 20,000 个。根据OWASP的说法,“XSS 是 OWASP Top 10 中第二普遍的问题,大约三分之二的应用程序都存在 XSS。”

Palant 在一个错误页面上发现了一个 XSS 错误,当用户在为作业提交视频后尝试提交视频时,该错误页面会出现。该页面包含一个“查看课堂”按钮,该按钮使用以下代码将用户发送到 Google 课堂:

window.open(this.courseworkLink);
“这是一个查询字符串参数,”帕兰特在他的帖子中解释道。“中间是否有一些链接验证?没有。所以,如果查询字符串参数类似于javascript:alert(document.domain),单击此按钮会在screencastify.com域的上下文中运行 JavaScript 代码吗?肯定会!”

要做到这一点,攻击者仍然需要诱骗受害者点击这个按钮。但正如 Palant 所观察到的,该页面没有针对框架的保护,这意味着它容易受到点击劫持。所以他的概念验证攻击就是这样做的,将易受攻击的页面加载到一个不可见的框架中,并将其定位在鼠标光标下,这样任何点击都会传递到隐藏的按钮。

此后,该页面可以向 Screencastify 发送消息以获取受害者的 Google 访问令牌并要求 Google 提供用户的身份。它还可以列出 Google Drive 内容或开始录制会话。

Palant 说他在 2022 年 2 月 14 日报告了这个问题,他的消息在同一天得到了确认。一天后,错误页面的 XSS 修复。他收到的消息还提到了实施内容安全策略保护的长期计划,但根据 Palant 的说法,截至 5 月 23 日,除了添加框架保护之外,这还app.screencastify.com没有发生。www.screencastify.com

Palant 说,他观察到,该 API 似乎没有受到限制,并且仍会生成可用于访问受害者的 Google Drive 的 Google OAuth 令牌。让网站开始视频录制的 onConnectExternal 处理程序也是如此。

The Register询问 Google 是否愿意对 Palant 的意见发表评论,即 Google Drive 访问范围过于广泛,但我们尚未收到回复。

“因此,此时是否继续使用 Screencastify 的问题归结为您是否信任 Screencastify、Pendo、Webflow、Teachable、Atlassian、Netlify、Marketo 和 ZenDesk 可以访问您的网络摄像头和您的 Google Drive 数据,”他总结道。“以及你是否信任所有这些各方来保证他们的网络资产不受 XSS 漏洞的影响。如果不信任,你应该尽快卸载 Screencastify。”

Screencastify 没有立即回复寻求评论的电话和电子邮件。

客户热线:037125966675