★我要吧★

 找回密码
 注册[Register]
搜索
qq空间相册密码查看为什么登陆后需要激活无法注册?

[技术] 腾讯QQ利用QQ空间强制聊天漏洞

[复制链接]
发表于 2016-2-17 15:54:34 | 显示全部楼层 |阅读模式
今天在网上看到有人发了强制聊天的工具,是web版的,于是谷歌了一下。找到了由杨元公布在乌云网上的bug,顺便测试了一下,可惜腾讯已经修复了。(表面上腾讯忽略了杨元的报告)7 J9 k# t. M" f
QQ空间中,有一个谁看过我的功能,然后我们把鼠标移到他们的头像上,会弹出一个信息卡片。
4 T- [: ]% y) E9 O1 t: x
) q% k  I8 I! Q/ \
* V, K1 Q+ A; J1 e2 }
% g8 ^) ^: _3 ^- z+ c+ O8 m信息卡片上有一个聊天功能,也就是这个接口,出现了严重的bug。抓包发现聊天的接口为:
0 O: w) b- N7 g& H6 e* z- T4 a7 A2 K7 ?- Y2 ]
http://r.cnc.qzone.qq.com/cgi-bin/user/cgi_tmp_talk?qzone_uin=20737302&to_uin=569550119&g_tk=1593160781
+ o9 h& s3 d% _* l1 P& r* B
) D8 z8 N  u6 G: A1 g$ \8 j+ p里边有两个重要参数qzone_uin发起QQ(以下简称sender),to_uin接收QQ(以下简称receiver),指定这两个参数后,请求接口,返回信息如下:$ n# \. k- G, D# v
3 T/ m: y( z% u2 p( a

    1 m: I$ |4 h; o4 B, M" k, K<script type="text/javascript">
  • 6 p) a6 N0 N$ f" R7 a, R
    <!--

  • / p8 S& G  j# G2 [6 Nvar url = 'tencent://message/?Menu=yes&uin=569550119&Service=112&SigT=ff8847c4116e035fd4b467f691cd9e42c0d413cec47eefb75d5e970421a2376ab400fffb0ea6cb8a&SigU=8a718a0cd8eba14b389fceb5788e72797b8a7eae107b9c43dd56bc7cc21090bccf67158b657963841c529232def3d416761799a1050acaaa29033f62f7fb46b5580fef571e7d82041508e926d65900ae77fae70b9cc4a341b7677c65b215d0327211235a5702bb6564157a3dfc11abe4';
  • % w- w+ s+ U. m6 M' s
    location = url;
  • , F/ k8 j9 h  M0 M! m
    //-->
  • </script> ' N( J) G1 I! `$ P' n- c
1 c6 {0 @! l9 j+ a( g

& x+ L3 ?: h- r. l2 c1 o7 v这里边又有三个非常重要的数据,经过大量实践,发现:uin是接收人的QQ,SigT是receiver的指纹,SigU是sender的指纹。$ f% L9 C) G0 H4 S% d4 W+ P
. T) h. i  X: J1 I: F
由此可见,有了这两个指纹,然后访问tencent://message/接口,就可以发起临时会话。
- ~" o' C. \( m5 l) A9 `  U' X( w9 l% y8 Z8 h( a: D7 x
& ^* N% l2 |: E0 p# D
$ a' P4 l- Z5 n* u( M

& i4 Y  ]& S' M. I9 M8 ~这里边又有三个非常重要的数据,经过大量实践,发现:uin是接收人的QQ,SigT是receiver的指纹,SigU是sender的指纹。
  H, `" t* K; t1 g, s0 ?% @. l8 l
& Q' n8 s7 O+ ]8 F) h由此可见,有了这两个指纹,然后访问tencent://message/接口,就可以发起临时会话。
4 e2 F6 ^  v2 {( L$ |+ t# g9 W
$ b$ y! O# v1 V8 k& k那怎么实现强聊呢?
% k: Z, I& s7 Z& R0 s
7 ~. o, E3 \, t7 U  ^% k( m1 u小虫直接说结论,想强聊,必须知道自己一个好友的QQ号和被聊人一个好友的QQ号。这两个条件均不难实现,自己的QQ好友您还不知道么。。。而被聊人的QQ好友,也是很容易获取的,比如你想和你同班的美女聊,那么班主任的QQ就是切入点。
* u9 W" ]4 z0 `  E( f8 j  b
% }6 n! o- d) e* G为什么需要这么奇怪的条件呢?小虫直接演示。
) f  z$ }9 d- n5 D" M2 E1 N" L/ ?: {
假设有四个角色,分别是A(发起人),AF(发起人好友),B(接收人),BF(接收人好友); I- r1 N& }5 R( F. F& V5 B
# r3 ~! m+ F9 a% ]5 `/ o* |1 d
第一步,我们需要在A和AF间建立一个通道,将A作为聊天的发起人,可以这样构造URL:9 P$ V0 B. h6 j) e% ^; l" U2 Z
' r' |  M9 k. K5 L3 a7 G
http://r.cnc.qzone.qq.com/cgi-bin/user/cgi_tmp_talk?qzone_uin=A&to_uin=AF&g_tk=1593160781
0 N5 ]3 [: `0 g& ?% a+ ?( q* h7 O9 \- j, N5 Y( [

3 B* B# H3 x. p+ |# N+ E& r8 c) V在服务器返回的参数中,我们拿到SigU参数,这个也就是A作为sender的指纹。( p7 s6 i  \3 a- y9 {4 d
0 r+ D' y: u- {0 ^1 M
第二步,我们在B和BF间建立一个通道,将B作为聊天接收人,可以这样构造URL:7 f; t5 f7 T; {$ r, g, Q

" d* U4 L8 T7 h% @+ D2 H9 p9 fhttp://r.cnc.qzone.qq.com/cgi-bin/user/cgi_tmp_talk?qzone_uin=BF&to_uin=B&g_tk=15931607818 i! r9 y4 T0 z$ @5 ^
% b' k7 Z  i' B" K0 [, O* j
* e# ]/ k: E% L8 O: W
在服务器返回的参数中,我们拿到SigT参数,这个也就是 B作为receiver的指纹。( y3 }0 K6 A, B; S9 C, R, x
4 m4 L+ e% l1 d1 x" [+ a# U# Y, D
接下来我们把这两个指纹混合在一起,访问tencent://message/接口(别忘了加上最基本的uin参数,接收人QQ),恭喜,可以聊天了!+ r% ]: m3 o, b/ O  N( ~
, u/ L' U8 Q* w. u9 C4 P
等等,好像有大问题,假如B和BF不是好友呢?我们并不能保证他们一定是好友,也就是说,我们是猜的。
4 \* c  S8 E9 |$ r
: s# W3 B# ]5 i6 Q  p( ]  }' R$ N0 Q+ w% o0 I) F6 I" J- c% Z
聪明的你可能已经发觉了,这个接口可以测试两个QQ号码是不是好友(前提是被测者未开通QQ在线状态,如果一方开通了这个服务,可以尝试将sender、receiver反过来)!!!% B* b8 B, F5 m" q" L# E/ |8 E
/ o( L- e- G! S7 d9 W
这是多么邪恶的接口!8 w; I! [) B0 W) a; D
) w, b: L" B+ B# l; G  j: U
不法分子可以通过这个接口收费帮别人测试好友,进而导致情侣隐私泄漏,夫妻感情破裂,进而导致社会不和谐,进而导致生产力下降,进而导致科技停止发展,严重阻碍人类进化。
* R- N) ?9 k9 R: E
/ [& r& d7 c( V, r" K最后,补充一句,通过这个方法发起的临时会话,即使没有开启QQ在线状态服务也是可以的,除非你屏蔽了所有临时会话。; d6 j& p: N" h- W0 a6 A( C
' Y/ }$ M" D* P# O& e# }3 g
发表于 2016-2-18 18:54:25 | 显示全部楼层
嗯嗯,支持。
回复 支持 反对

使用道具 举报

发表于 2016-3-31 00:12:16 | 显示全部楼层
这么厉害,真的假的。
回复 支持 反对

使用道具 举报

发表于 2016-7-22 19:03:30 来自手机 | 显示全部楼层
看看对我有没有用
回复 支持 反对

使用道具 举报

发表于 2016-10-27 13:28:49 | 显示全部楼层
没看懂
回复 支持 反对

使用道具 举报

发表于 2022-2-8 17:42:53 来自手机 | 显示全部楼层
太复杂了,不适合我这种技术小白
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

QQ|手机版|小黑屋|☆我要吧☆ ( 豫ICP备13016831号-1 )

GMT+8, 2024-5-14 17:46 , Processed in 0.064256 second(s), 18 queries .

Powered by abc369 X3.4

© 2001-2023 abc369.

快速回复 返回顶部 返回列表