在v2ex上的一篇帖子,说QQ会读取Chrome的历史记录,被火绒自定义规则拦截了,本来我是不信的,但是他说他复现了,而且是QQ登录10分钟后才会去访问。
这我就想去验证下了,开虚拟机装QQ、Chrome,然后打开Process Monitor开始等。规则简单的过滤下。
果然看到了读取AppData\Local\Google\Chrome\User Data\Default\History等目录的操作。
而且时间也是恰到好处的十分钟。
以上截图实锤了QQ读取Chrome浏览历史,为了保证公平客观,把规则去掉,重新翻了一下才发现果然是冤枉QQ了啊。
受害人之多令人震惊,仔细一看,这玩意是遍历了Appdata\Local\下的所有文件夹,然后加上User Data\Default\History去读啊。User Data\Default\History是谷歌系浏览器(火狐等浏览器不熟,不清楚目录如何)默认的历史纪录存放位置,Chrome中枪也就很正常了。
然后就该研究研究QQ为啥要这么干了,读取到的浏览器历史记录又拿来干啥了呢?
挂上x32dbg,动态调试找到位置。
然后去IDA里直接反编译出来,如下(位置在AppUtil.dll中 .text:510EFB98 附近)
这一段的逻辑还是很好看懂的,先读取各种 User Data\Default\History 文件,读到了就复制到Temp目录下的temphis.db。回去看下Procmom,果然没错。
再之后的操作就简单了,SQLite读取数据库,然后“select url from urls”,这是在干什么大家都懂哈。后面就不接着讲了,有兴趣的可以自己接着看。
结论,QQ并不是特意读取Chrome的历史记录的,而是会试图读取电脑里所有谷歌系浏览器的历史记录并提取链接,确认会中招的浏览器包括但不限于Chrome、Chromium、360极速、360安全、猎豹、2345等浏览器。
晚上来编辑一下,刚才去试了下TIM,果然经典重现,而且比QQ还离谱,不多说直接上图。
以下内容转自:关于QQ读取Chrome历史记录的澄清
感谢作者:@qwqdanchun
腾讯官方回复如下:
时间:2021年1月18日下午1点左右
腾讯QQ (知乎认证账号):近日,我们收到外部反馈称PC QQ扫描读取浏览器历史记录。对此,QQ安全团队高度重视并展开调查,发现PC QQ存在读取浏览器历史用以判断用户登录安全风险的情况,读取的数据用于在PC QQ的本地客户端中判断是否恶意登录。所有相关数据不会上传至云端,不会储存,也不会用于任何其他用途。
具体情况为,该操作为历史上线的一个对抗恶意登录的技术解决方案:因系统识别有不少伪造的QQ客户端会恶意访问多个网站作为前期辅助工作,因此在PC QQ客户端中加入了检测恶意和异常的访问逻辑,以此作为辅助手段去判断恶意客户端。
对本次事件,我们深表歉意,内部正梳理历史问题并强化用户数据访问规范。目前,我们已经更换了检测恶意和异常请求的技术逻辑去解决上述安全风险问题,并发布全新的PC QQ版本。为减少不便,所有受影响的PC QQ历史版本将在今天开始进行热更新和推送升级包。同时,手机端QQ不存在上述操作,不受影响。
最后,感谢各位技术爱好者的监督,我们也欢迎大家向腾讯安全应急响应中心(腾讯安全应急响应中心)提交报告。
讲一讲x32dbg动态调试找到位置是怎么搞的吧,想学
最新版本号的腾讯软件肯定是修复了读取浏览器的历史记录被第三方软件识别乃至逆向工程的bug。我已虚拟机玩大陆软件
现在卸载还来得及吗? /害怕 害怕
现在QQ发布声明说的已经修复该问题了,不过我觉得如工作需要那是没有办法,如无必要还是卸载为上!