当前位置: 首页 > 科技观察

Canopy家长控制应用程序暴露XSS漏洞

时间:2023-03-19 14:30:59 科技观察

Canopy是一款家长控制应用程序,提供一系列功能通??过内容检查保护在线儿童,研究人员表示,跨站点脚本(XSS)攻击容易受到各种攻击。这些攻击可能会导致无法监控儿童或产生更严重的后果,并且还会向父母传播恶意软件。Canopy提供防止性短信、设备照片保护(通过图像过滤)、屏幕时间监控、父母的儿童通信警报、违规网站的智能内容过滤,同时Canopy还使用人工智能引擎和虚拟Web过滤。此外,对于父母来说,它还提供远程设备管理和对孩子使用的应用程序和网站的控制。据安全研究人员称,该应用程序的安装过程需要授予一系列权限,包括可访问性支持、显示在其他应用程序之上的能力、安装根CA和虚拟网络配置。该应用程序还可以(可选)充当设备管理员,防止应用程序被删除......这种特权访问会对设备的安全性和使用它们的儿童的隐私构成相当大的风险。该应用程序存在XSS漏洞。事实证明,研究人员并没有错。在开发该应用程序的Android版本时,研究人员发现了多个XSS漏洞,这些漏洞在将恶意脚本注入其他良性或受信任的网站时发生。这种注入通常是通过在Web响应或评论字段中输入恶意代码来完成的,然后将有效负载发送到Web服务器。通常,这些响应在服务器端进行验证,因此恶意脚本会被阻止。但在Canopy的案例中,研究人员发现该应用程序缺少这些检查。一旦网站遭到破坏,该网站的任何访问者都可能成为受害者,要么是通过存储的XSS攻击,要么是被引诱点击链接并受到反射XSS的攻击。漏洞概述第一个问题是可以绕过应用程序的保护。研究人员在测试Canopy拦截不良网站的核心功能时,发现当他试图在他测试的Android设备上加载被禁网站时,会显示一个拦截通知页面。在通知页面中有一个按钮,使孩子能够向他或她的父母请求访问该页面的权限。当在测试设备上单击按钮时,一个简单的XSS负载脚本附加到响应数据,一个JavaScript弹出窗口会在要访问的网站上创建,仔细观察会发生什么。当他进入网站时,果然出现了一个弹窗。该漏洞产生的原因是系统无法对用户输入的内容进行转义。研究人员发现该字段只允许用户输入50个字符,但这足以输入外部脚本。现在我们可以有多种方式来利用这个漏洞。攻击者(例如间谍儿童)可以在异常请求中嵌入有效负载。虽然攻击者可以通过多种方式利用此漏洞,但显然最简单的方法是自动批准请求。这里测试的第一件事是自动点击批准传入的有效负载。测试了另一个有效载荷,它会自动暂停监视保护。外星人攻击Canopy虽然拥有脚本知识的孩子可以对父母进行网络攻击,但研究人员还发现,这可能会造成更严重的后果。例如,他观察到阻止通知页面中的URL值(指示哪个网站被阻止)会显示在家长仪表板的主页上。研究人员在这里做了一个简单的测试,在URL中添加一个脚本标签,并在父控制台加载它,当父仪表板的主页面加载时执行该脚本。我们现在可以提交一个例外请求,允许攻击者在家长登录检查受监控设备时控制Canopy应用程序。此外,由于攻击需要使用特制的URL,因此攻击完全有可能来自外部第三方平台。攻击者只需要设置一个可能被阻止的网站,将脚本添加到其URL,然后诱使孩子尝试访问它。当有关访问请求的通知到达家长控制台时,监控该帐户的家长成为恶意脚本的受害者。但这还不是全部。事实证明,CanopyAPI的设计允许外部攻击者通过猜测父帐户的ID将XSS有效载荷直接注入父帐户的网页。这也可能会产生将用户重定向到广告页面、其他漏洞利用、恶意软件攻击等后果。最糟糕的是,攻击者还可以劫持对安装在儿童手机上的应用程序的访问权限,并从受保护的设备中提取GPS坐标。由于用户的账号ID是一串很短的值,攻击者只需要对每个ID值依次发出阻塞异常请求,就可以对每个账号使用攻击载荷。最糟糕的是,Canopy没有发布补丁。该研究人员表示,他曾多次通过电话和电子邮件联系该公司,但几乎没有得到回应,因此他决定公开漏洞。他补充说,为防止儿童受到攻击,开发人员应尽快提出解决方案。Canopy需要转义所有用户输入的字段,但实际上并没有这样做。在与供应商多次尝试合作后,决定发布这份报告,以便其他人可以从中学习并采取相应的行动。本文翻译自:https://threatpost.com/canopy-parental-control-app-unpatched-xss-bugs/175384/如有转载请注明出处。