【复现】腾讯QQ JS注入漏洞,可被远程控制

腾讯QQ 9.9.25.42744 Windows版本高危漏洞分析

漏洞成因

此漏洞为 JavaScript 注入漏洞,具体来说是QQ客户端聊天消息的前端代码中,对 onerror 标签过滤不严格,允许在有限的沙箱环境内执行 JS 代码,攻击者构造特定文本代码实现攻击

漏洞危害

远程控制设备:成功利用漏洞可控制用户摄像头、获取IP地址及计算机敏感信息

隐蔽性强:恶意代码在聊天记录中显示为破损的图片样式,用户仅需打开聊天窗口即可触发,无需点击或下载

影响广泛:由于QQ用户基数庞大,该漏洞可能被大规模利用

复现过程

初步验证

设置中查看版本 9.9.25.42744,属于漏洞版本

先发个简单的 img xss 标签试试聊天窗口中是一个图片损坏的 logo,同时弹出弹窗,确认漏洞存在

深入利用,获取权限

这里用浏览器渗透框架 Beef 为例,在 kali 上可以直接apt install beef-xss安装,执行beef-xss启动,如下图会给出一条 hook 代码

可以看到 QQ 的版本号,Electron 版本号,以及受害者当前系统是 Windows10 LTSC

获取目标 IP 地址

获取浏览器指纹信息

修复方案

腾讯已发布新版修复此漏洞,建议立即采取以下措施

检查QQ版本:通过"设置"->"关于QQ"查看,若为9.9.25.42744则存在风险

升级软件:设置中在线更新,或从腾讯QQ官方网站下载最新QQ版本

更新安全软件:确保杀毒软件为最新版,可对漏洞相关文件进行查杀