从Avast杀毒软件发现价值5000美金的反射型XSS

来源:岁月联盟 编辑:猪蛋儿 时间:2020-01-29


本文讲述作者从Avast桌面版杀毒软件中发现的反射型XSS漏洞(CVE-2019–18653 & CVE-2019–18654),漏洞原因在于Avast在新加入某个无线网络时,通过对无线网络名称(SSID)的读取,Avast的网络接入提示(Avast Network Notification )会反弹形成XSS漏洞,攻击者可以在用户接入的无线网络名称(SSID)中构造恶意XSS Payload形成假冒网页进而窃取用户密码凭据信息。漏洞最终被Avast官方分类为高危,并给予了$5000美金奖励。同样的漏洞也存在于与Avast同系列产品的**G杀毒软件中。
漏洞复现
1、在Windows系统中安装有Avast桌面版杀毒软件;
2、构造一个无线网络,其SSID名称为不超过32个字符的XSS Payload,可参考BruteLogic 和 s0md3v 给出的短XSS Payload构造法;

3、打开Avast杀毒软件,连入用XSS Payload新构造的无线网络,等待Avast的网络接入提示(Avast Network Notification ),它会触发无线网络SSID中的XSS Payload。
发现过程
几年前我看过安全研究员Deral Heiland在测试一些大公司产品时,通过构造SSID包含XSS Payload的无线网络,以此方式来测试这些软件在连接这种恶意无线网络时,是否会触发XSS执行,最终他发现有很多软件都存在此种漏洞,他曾在2013年的BLACK HAT上有过技术分享《Practical Exploitation Using A Malicious Service Set Identifier (SSID)》。基于他的发现,我也在我的OS X系统中构造了一个SSID包含XSS Payload的无线网络来进行一些测试使用。
几个月之后,我另外买了一台笔记本电脑(内置Windows),于是,出于方便,我就把这台新买笔记本连入了我OS X系统中SSID包含XSS Payload的无线网络,用它下载安装了一些必要的应用软件,最后还安装了Avast杀毒软件。后来有一天,我用这台新买笔记本电脑做在线培训时,网络连接突然出现了问题,电脑自动连接到了之前我安装软件的无线共享网络,并在桌面上跳出了包含链接https://local.avast.com的一个弹窗(如漏洞复现中给出的图示)。
我有些疑惑,后来我才搞明白,原来之前我是用OS X系统中SSID包含XSS Payload的无线网络安装的Avast杀毒软件,而现在,Avast杀毒软件突然就连接到了这个无线网络,且其防火墙内置的网络接入提示(Avast Network Notification )触发了其SSID包含XSS Payload,由于跳出了上述弹窗,形成了一个XSS漏洞。
测试过程
据Avast官方介绍,Avast是领先且具备下一代网络攻击防护的杀毒厂商,能实时阻止异常流量和黑客攻击,注重保护用户隐私和信息安全。Avast拥有先进的端到端防护技术,其中内置的“防火墙”功能就是一个典型应用,可以实时捕获用户系统中进出的异常流量。默认配置中,当Avast接入某个网络后,该防火墙会自动给出网络接入提示(Avast Network Notification ),如下图所示,它会提示用户,当前Avast和系统的接入网络为SSID是 “My Hotspot” 的无线网络。

跳出弹窗后,用户可以选择当前接入网络的类型,有“Private”和 “Public” 两种选项,但问题就在于,网络接入提示(Avast Network Notification )中不会对接入无线网络的SSID字段执行过滤,如果攻击者像我那样构造了恶意包含XSS Payload的SSID名称,那么,用户就会受到XSS攻击。
XSS

[1] [2]  下一页