首页
论坛
课程
招聘
[原创]QQ后台读取历史记录?有点冤枉企鹅了!
2021-1-17 17:55 22718

[原创]QQ后台读取历史记录?有点冤枉企鹅了!

2021-1-17 17:55
22718

蹭个热点!

起因

今天看雪一篇帖子关于QQ读取Chrome历史记录的澄清访问量突然爆发,貌似引起了很大的震动。

 

帖子内容大致是,作者(qwqdanchun)看到v2ex一篇帖子《QQ 正在尝试读取你的浏览记录》说QQ后台尝试读取你的浏览器历史记录。

 

然后本着探索的精神,作者去简单抓取了一下QQ的文件访问行为,和简单的逆向分析。

 

然后得出结论是,QQ并不是针对Chrome,而是会遍历读取所有浏览器历史记录,确认会中招的浏览器包括但不限于如Chrome、Chromium、360极速、360安全、猎豹、2345等浏览器(看出了吗,就是所有使用chrome内核的浏览器)。

 

 

这个...我有点...震惊!不敢置信。

 

所以,根据作者帖子提供的线索,我也去看了看QQ相关位置的代码,究竟是做什么功能,一探究竟。

 

仅仅做技术探究没有针对qwqdanchun的意思,如果不对,请原谅。

分析

原帖作者通过history搜索到关键代码,我也照着做了,然后发现了不同的事情。

 

可能有点先入为主,原帖作者并没有怎么仔细看相关代码的逻辑和功能,认为QQ读取了chrome历史记录文件并进行了sqlite数据操作。

 

 

其实呢?如果仔细一点,就会发现下面的代码。

 

 

很明显,QQ仅仅暂时拷贝了chrome历史记录文件到临时文件temphis.db,然后刷选了url进行了一些检测,log信息中看到关键字ptjcur Detect2

 

然后通过DeleteFile删除了临时文件temphis.dbg,中间代码也并没有发现什么上传服务器的代码。

 

所以我觉得原帖作者得到QQ后台读取浏览器历史记录,并臆测可能会对用户做什么危害的行为,有上升到了用户隐私上,这个结论确实是有点不妥的。

 

因为读取历史记录和删除临时文件中间并没有什么上传服务器之类的操作,所有都是本地完成的。

 

这个结论对企鹅有点不公平,对一个如日冲天的互联网公司不公平。

 

不能因为某些xx历史行为,就无脑接受坏人设定,不清楚细节就轻易下结论,当然我并不否认那些历史xx行为。

 

为了搞清楚真相,我进行了更深入的分析,发现一些新的东西。

 

 

读取历史记录相关逻辑是在一个线程中,线程首先会判断dns domain是tencent.com或者存在SNGPERF,则bint为1,那么后面的读取历史记录也就不会做了(这是不针对企鹅内部环境?)。

 

如果bint是0,则开始detect。

 

首先通过urlcache(后面再读取chrome历史记录)读取url信息(ptjcur Detect1)。

 

 

然后计算url的md5,比几个固定的md5值比较。

 

 

如果md5匹配,会解析url分析&后面的参数,然后继续把这个参数做md5计算,和一些md5比较,匹配存入一块内存。

 

具体后续有什么动作,经过这些简单的分析还不能确认,所以也不能轻易对其下结论。

 

需要比较url的md5如下,有条件的朋友可以去跑跑看结果是什么,然后企鹅究竟要作什么就一目了然了。

1
2
3
4
0x1C6389BA, 0xF2FA5666, 0xF2A2E0D3, 0xC892E7BA
0xB829484C, 0x520F7CC3, 0x94EC8A73, 0xD808E79
0xDDA1029, 0x9E67F3BB, 0xB18ACC45, 0x597CF438
0x2564591C, 0x5B11347B, 0x846A0F72, 0xEF704A8

结论

最后总结,经过上面的分析,我们并不能对QQ的行为下结论,并不能因为临时读取和计算了一下url,就判定是对用户隐私的侵害(有可能真的如某些人说的,这可能是对某些不雅网站的检查呢)。

 

当然,在这件事情中,QQ并不完全是无辜者,读取用户浏览器历史记录是一个非常敏感的行为,应该必须让用户清楚得知道,你并没用用此信息做什么伤害用户利益的事情。

 

最后的最后呢,我想到一个非常有意思的点,说不定这件事情就是因为开发人员一个不小心搞出来的乌龙呢?

 

哈哈,知道我说的什么吗?就是前面我提到的,判断dns域名是不是tencent.com,bint为0,才会有后面一系列行为,所以我当时很迷惑的猜测,对企鹅内部环境并不检测。

 

而可能因为开发人员手误把if(bint)写错成了if(!bint)导致检测了非企鹅内部环境,而其实这个功能只是针对企鹅内部环境做的。

 

当然,这只是我的猜测,具体还得看看企鹅自己的解释。

 

(完)

 

https://mp.weixin.qq.com/s/y9U2p-qnuG6jm61lERtQjQ


[培训] 优秀毕业生寄语:恭喜id咸鱼炒白菜拿到远超3W月薪的offer,《安卓高级研修班》火热招生!!!

收藏
点赞2
打赏
分享
最新回复 (46)
雪    币: 432
活跃值: 活跃值 (381)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
笑熬浆糊 活跃值 2 2021-1-17 18:00
2
6
然后刷选了url进行了一些检测    进行了什么检测 ? 为什么要检测 ? 检测了要干嘛 ?  是要学雷锋?
雪    币: 3607
活跃值: 活跃值 (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Hi_Sora 活跃值 2021-1-17 18:01
3
0
雪    币: 16761
活跃值: 活跃值 (1409)
能力值: ( LV3,RANK:28 )
在线值:
发帖
回帖
粉丝
_重黎 活跃值 2021-1-17 21:37
4
1
嗯嗯嗯。是是是。就硬洗。你把鹅厂码农当傻x么。判断条件都能写反。越洗越黑兄弟。
这明显就是鹅厂内部不上传。
雪    币: 5182
活跃值: 活跃值 (956)
能力值: ( LV12,RANK:204 )
在线值:
发帖
回帖
粉丝
堂前燕 活跃值 1 2021-1-17 23:24
5
3
https://gist.github.com/buptczq/0d0fc73a1a8d2232b4d21b5e1ac13344
https://www.v2ex.com/member/raion
tasks = {
# URL 匹配
# (23, 0x1C6389BA, 0xF2FA5666, 0xF2A2E0D3, 0xC892E7BA): b'', # ://S.TAOBAO.COM/SEARCH?
# (34, 0xB829484C, 0x520F7CC3, 0x94EC8A73, 0xD808E79): b'', # LIST.TMALL.COM/SEARCH_PRODUCT.HTM?
(30, 0xDDA1029, 0x9E67F3BB, 0xB18ACC45, 0x597CF438): b'', #
# (21, 0x2564591C, 0x5B11347B, 0x846A0F72, 0xEF704A8): b'', # SEARCH.JD.COM/SEARCH?

# 搜索关键词匹配
# group 1
# (18, 0x8C2F8C3B, 0x9CA6DB69, 0x663C9537, 0xA0B64B58): b'', # 古着
# (7, 0x966DC59E, 0x592F2331, 0x6D2BF021, 0xA1D96C3C): b'', # VINTAGE

# group 2
# (18, 0x7FACF63C, 0xBEC2FCB0, 0xBE8836F6, 0x167CC273): b'', # 融券
# (18, 0x46B6D8D7, 0x8AA82723, 0xBE19FA24, 0x670E160C): b'', # 融资

# group 3
# (18, 0xE235F85E, 0x5C924D20, 0xA61B84AC, 0x4BC792DD): b'', # 炒股
# (18, 0x79088BEC, 0xF29CC9E8, 0xBF920D9, 0x455AE9ED): b'', # 股票
}
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
KomiMoe_ 活跃值 2021-1-17 23:24
6
3
楼上说的对。这洗的套路见太多了都看腻了。你不仅把鹅厂码农当傻x了,还把我们当傻x了。而且我在里面看到上传的代码了,不知道楼主的没有上传的结论是怎么得出来的。
雪    币: 4745
活跃值: 活跃值 (2187)
能力值: ( LV7,RANK:150 )
在线值:
发帖
回帖
粉丝
淡然他徒弟 活跃值 1 2021-1-17 23:31
7
1
哦 澄清的好 这波绝对不是 (白名单内部员工浏览记录) 也绝对不是(没钱请测试组测试) 懂了 良心 /手动doge 
雪    币: 103
活跃值: 活跃值 (187)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xtayaitak 活跃值 2021-1-18 00:04
8
0

主要是windows平台太开放。开放有好处也有坏处

最后于 2021-1-18 00:07 被xtayaitak编辑 ,原因:
雪    币: 36
活跃值: 活跃值 (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hflhbu 活跃值 2021-1-18 00:12
9
0

是不是写错判断先不提,针对内部环境的测试会做到正式版本上,正式发布出去,再进行测试?感觉不靠谱

最后于 2021-1-18 00:25 被hflhbu编辑 ,原因:
雪    币: 188
活跃值: 活跃值 (94)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Besttwuya 活跃值 2021-1-18 01:19
10
0
鹅长:有种来告我?收集点小电影而已!
雪    币: 2010
活跃值: 活跃值 (811)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
大鲤鱼 活跃值 2021-1-18 02:07
11
2
我就想知道,你凭什么读我的信息,明明不读那些信息,你就能正常运行
雪    币: 9542
活跃值: 活跃值 (1446)
能力值: ( LV5,RANK:61 )
在线值:
发帖
回帖
粉丝
Sprite雪碧 活跃值 1 2021-1-18 03:14
12
10

所以我觉得原帖作者得到QQ后台读取浏览器历史记录,并臆测可能会对用户做什么危害的行为,有上升到了用户隐私上,这个结论确实是有点不妥的。

“浏览器历史记录” 不叫 “用户隐私”?啥叫 “上升”?


因为读取历史记录和删除临时文件中间并没有什么上传服务器之类的操作,所有都是本地完成的。

根据 v2ex 网友的逆向分析,实际上会上传到服务器,只不过没有上传完整 url,而是上传匹配到哪些 md5。


附上 v2ex 网友分享的 md5 对应数据图:

根据 v2ex 评论区目前现有发现的结论,你在 淘宝、天猫 或 京东 搜索过 “古着”、“VINTAGE”、“融券”、“融资”、“炒股” 或 “股票”,就会被 QQ 或 TIM 上报 你在 以上哪些电商平台 搜索过 以上哪些关键字。


这个结论确实是有点不妥的。

这个结论对企鹅有点不公平,对一个如日冲天的互联网公司不公平。

请问这个结论有何不妥?对企鹅哪里不公平?对一个如日中天的互联网公司哪里不公平?


有可能真的如某些人说的,这可能是对某些不雅网站的检查呢

通过上面的 md5 数据对应图,很明显 淘宝、天猫 和 京东 不是 “不雅” 网站,“古着”、“VINTAGE”、“融券”、“融资”、“炒股” 和 “股票” 也不是 “不雅 关键字。


最后的最后呢,我想到一个非常有意思的点,说不定这件事情就是因为开发人员一个不小心搞出来的乌龙呢?

 

哈哈,知道我说的什么吗?就是前面我提到的,判断dns域名是不是tencent.com,bint为0,才会有后面一系列行为,所以我当时很迷惑的猜测,对企鹅内部环境并不检测。

 

而可能因为开发人员手误把if(bint)写错成了if(!bint)导致检测了非企鹅内部环境,而其实这个功能只是针对企鹅内部环境做的。

这个猜测很有 ”创意“,但是我个人认为很明显不是:

  1. 企鹅内部环境没有理由检测这些浏览器历史记录关键字。

  2. 就算有理由,也没有必要把检测写在 QQ 或 TIM 上。


最后,洗地这种事还是交给专业的人来做吧,你这种越洗越黑,当然如果你不是来洗的就当我这句话没说。

最后于 2021-1-18 06:27 被Sprite雪碧编辑 ,原因:
雪    币: 3725
活跃值: 活跃值 (747)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
syser 活跃值 2021-1-18 07:14
13
5
楼主怕不是傻子
都读取浏览器记录了 不管干嘛 都侵犯隐私了
正常一个IM有资格扫描浏览器记录?
雪    币: 2410
活跃值: 活跃值 (456)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
此试谷南泉 活跃值 2021-1-18 07:45
14
0
所以那么多版本就没有修正这么一个小小的判断?
雪    币: 116
活跃值: 活跃值 (180)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
nic329 活跃值 2021-1-18 08:54
15
1
楼主这是在反向黑,怎么会是洗地
雪    币: 1453
活跃值: 活跃值 (2220)
能力值: ( LV9,RANK:176 )
在线值:
发帖
回帖
粉丝
nevinhappy 活跃值 2 2021-1-18 08:58
16
0
LZ 10分厂的!!!
雪    币: 36
活跃值: 活跃值 (74)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tanghengvip 活跃值 2021-1-18 10:02
17
4
假装洗地文,帖子可以存活更久楼主用心良苦
雪    币: 4181
活跃值: 活跃值 (482)
能力值: ( LV5,RANK:67 )
在线值:
发帖
回帖
粉丝
晴雯晴雯 活跃值 2021-1-18 10:22
18
0
大数据时代,鹅肠要为每个人贴一个标签,这样才好做广告推送。人家程序员辛辛苦苦写的代码,还对IE的宽字节做了处理,都是领导要求的,咱们打工人没有话语权。
雪    币: 107
活跃值: 活跃值 (1530)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Imxz 活跃值 2021-1-18 10:33
19
0
楼主绝对是反向黑 
雪    币: 424
活跃值: 活跃值 (407)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
青丝梦 活跃值 2021-1-18 10:35
20
0
Sprite雪碧 所以我觉得原帖作者得到QQ后台读取浏览器历史记录,并臆测可能会对用户做什么危害的行为,有上升到了用户隐私上,这个结论确实是有点不妥的。“浏览器历史记录” 不叫 “用户隐私”?啥叫 “上升”?因为读取历 ...
表哥牛逼
雪    币: 715
活跃值: 活跃值 (607)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
caocaofff 活跃值 2021-1-18 10:39
21
0
改有一个帖子来说明如何阻止这种行为了
雪    币: 15
活跃值: 活跃值 (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
delost 活跃值 2021-1-18 10:40
22
0
笑了,单点登录?
雪    币: 1032
活跃值: 活跃值 (709)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
wuxiwudi 活跃值 2021-1-18 11:20
23
1
这个算脱敏打点,但是从广告商或者浏览器接口里面拿和从用户电脑上拿,处理结果可是不一样的,从用户电脑上拿数据当大数据打点妥妥犯法了
雪    币: 37
活跃值: 活跃值 (75)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
夜泉 活跃值 2021-1-18 11:23
24
0
冤吗???我觉得不冤,因为不管腾讯出于什么目的,达没达成,读取历史记录这种东西都是非常敏感的,,,你能保证这次不上传,不代表以后不更新这个模块,我更加相信腾讯在试水而已,没反应才会继续完善下去,然后更新下条款,,,啧啧,,,
总结:楼主再为腾讯洗文....
雪    币: 4436
活跃值: 活跃值 (583)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
沉迷于 活跃值 2021-1-18 11:31
25
0
这个洗白 是把我们当傻逼 啊
游客
登录 | 注册 方可回帖
返回