★我要吧★

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

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

[复制链接]
发表于 2016-2-17 15:54:34 | 显示全部楼层 |阅读模式
今天在网上看到有人发了强制聊天的工具,是web版的,于是谷歌了一下。找到了由杨元公布在乌云网上的bug,顺便测试了一下,可惜腾讯已经修复了。(表面上腾讯忽略了杨元的报告)
1 ~! c6 @. _4 I0 cQQ空间中,有一个谁看过我的功能,然后我们把鼠标移到他们的头像上,会弹出一个信息卡片。
& O1 X- {; Z+ [2 N7 Y1 e- B% e" v! S( S+ Z" X% `. U- V& O! ^/ B
1 M7 z+ \! T1 C2 @  w

4 x# F* ]6 p4 t% Y5 o. v, B1 T2 ?信息卡片上有一个聊天功能,也就是这个接口,出现了严重的bug。抓包发现聊天的接口为:
3 n; n) d5 \+ w9 q' [
4 D" G+ ~. X2 j, [http://r.cnc.qzone.qq.com/cgi-bin/user/cgi_tmp_talk?qzone_uin=20737302&to_uin=569550119&g_tk=1593160781
% a( R! w8 W2 U8 }6 _
) f; B4 W% h7 T$ J; E4 H4 \6 ~1 V2 f里边有两个重要参数qzone_uin发起QQ(以下简称sender),to_uin接收QQ(以下简称receiver),指定这两个参数后,请求接口,返回信息如下:
$ S6 O4 t4 m+ l4 {8 B; Q$ s3 |! r, H: W* t
    " V9 Z( l4 E, r9 `, A, G
    <script type="text/javascript">

  • 0 S7 k0 X9 R; Q. b5 ]3 a<!--
  • 2 s* P5 n9 u  M) y& ]- a
    var url = 'tencent://message/?Menu=yes&uin=569550119&Service=112&SigT=ff8847c4116e035fd4b467f691cd9e42c0d413cec47eefb75d5e970421a2376ab400fffb0ea6cb8a&SigU=8a718a0cd8eba14b389fceb5788e72797b8a7eae107b9c43dd56bc7cc21090bccf67158b657963841c529232def3d416761799a1050acaaa29033f62f7fb46b5580fef571e7d82041508e926d65900ae77fae70b9cc4a341b7677c65b215d0327211235a5702bb6564157a3dfc11abe4';

  • / G; s  m1 f  d5 Z/ e* S0 Dlocation = url;
  • - h. W; L+ v: |  \
    //-->
  • </script> * ~  ^8 g; D$ p: @

3 e* I7 G1 y: M2 P
5 n  L# Z) W3 w这里边又有三个非常重要的数据,经过大量实践,发现:uin是接收人的QQ,SigT是receiver的指纹,SigU是sender的指纹。3 {; K1 r& A0 D6 F, |/ a8 U" R. @

8 M+ X1 A, p6 b, U2 x0 r由此可见,有了这两个指纹,然后访问tencent://message/接口,就可以发起临时会话。
( F: i& m/ \5 z2 Z6 D, C  g
' j" d3 j6 {$ a( a: I9 Z7 c7 T/ a8 D' v( A  g4 p0 F
2 e2 }/ j; @$ }6 v

- @: i" \" j) Y& N这里边又有三个非常重要的数据,经过大量实践,发现:uin是接收人的QQ,SigT是receiver的指纹,SigU是sender的指纹。& L4 \* i( }7 |7 k) J! Y
) k! K; `7 ^( m/ M3 ?2 L( {
由此可见,有了这两个指纹,然后访问tencent://message/接口,就可以发起临时会话。
' P3 P: ^9 {! r% `" i/ N' O. I' b0 e, l+ C( j( c3 A
那怎么实现强聊呢?# A% T6 p: ^2 F8 |" d
) k) m: K% l6 y1 [9 K
小虫直接说结论,想强聊,必须知道自己一个好友的QQ号和被聊人一个好友的QQ号。这两个条件均不难实现,自己的QQ好友您还不知道么。。。而被聊人的QQ好友,也是很容易获取的,比如你想和你同班的美女聊,那么班主任的QQ就是切入点。1 E9 n5 }9 c0 Y  N
- `6 I( C. e6 y& u0 y; c
为什么需要这么奇怪的条件呢?小虫直接演示。
+ J/ |0 N; D" x& X6 A9 ]& I) t; K
# ~- |" M. O! R$ b* a假设有四个角色,分别是A(发起人),AF(发起人好友),B(接收人),BF(接收人好友)4 n2 f6 e+ h6 @' {

: \( b) d% A( H& [* o9 n" _2 A. t第一步,我们需要在A和AF间建立一个通道,将A作为聊天的发起人,可以这样构造URL:
- ?, Y4 J) q' ~7 M3 ]& h; q0 D& f. Y  R2 b/ d) `9 @- e( S! O" ^
http://r.cnc.qzone.qq.com/cgi-bin/user/cgi_tmp_talk?qzone_uin=A&to_uin=AF&g_tk=1593160781
. d" e" n; J  p) V! B
! ?' t  [: j( {* p  R, f' m, U8 i  }$ q, `' w) x  q
在服务器返回的参数中,我们拿到SigU参数,这个也就是A作为sender的指纹。
  |% n( L- v3 C2 p3 K9 u! K, L% @8 J  }9 }/ @2 K1 `
第二步,我们在B和BF间建立一个通道,将B作为聊天接收人,可以这样构造URL:& a8 \* o5 r2 R5 _
- @& W2 y/ O3 t2 o, R+ D$ S
http://r.cnc.qzone.qq.com/cgi-bin/user/cgi_tmp_talk?qzone_uin=BF&to_uin=B&g_tk=1593160781
6 A9 L" \3 Z& m9 f, u8 U+ P3 h4 O. e4 `

7 z0 [( e8 ?& d' h  C/ \在服务器返回的参数中,我们拿到SigT参数,这个也就是 B作为receiver的指纹。2 [& u5 w$ `* j% m) b+ j0 S

6 n% g7 I& {! y; Q  f' ?接下来我们把这两个指纹混合在一起,访问tencent://message/接口(别忘了加上最基本的uin参数,接收人QQ),恭喜,可以聊天了!% M. D! {' h2 _  y) ^& k4 l, \
3 k1 e9 w( v9 e8 e" ]8 f1 o
等等,好像有大问题,假如B和BF不是好友呢?我们并不能保证他们一定是好友,也就是说,我们是猜的。9 s& n; |0 V* d0 n2 m; T

5 u' G. J) L; s  R* m  u9 b/ ^2 G0 r8 Z4 S" r$ }/ {
聪明的你可能已经发觉了,这个接口可以测试两个QQ号码是不是好友(前提是被测者未开通QQ在线状态,如果一方开通了这个服务,可以尝试将sender、receiver反过来)!!!
/ ^3 h! F- [( T% e( M2 G! u3 d" r6 G0 W2 L# }+ Q8 J# y
这是多么邪恶的接口!
1 w/ U4 b  ~0 ]+ o
. T# a! i" A6 s7 g" O/ v不法分子可以通过这个接口收费帮别人测试好友,进而导致情侣隐私泄漏,夫妻感情破裂,进而导致社会不和谐,进而导致生产力下降,进而导致科技停止发展,严重阻碍人类进化。
6 S. Q. M2 k% O4 L. Q) o3 e. w6 V# l9 X1 z6 X1 _4 t0 V4 M
最后,补充一句,通过这个方法发起的临时会话,即使没有开启QQ在线状态服务也是可以的,除非你屏蔽了所有临时会话。# E) P: X( Y: q% z) h
# \4 I4 Z( K% U) i" l
发表于 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-12-25 15:42 , Processed in 0.064032 second(s), 18 queries .

Powered by abc369 X3.4

© 2001-2023 abc369.

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