★我要吧★

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

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

[复制链接]
发表于 2016-2-17 15:54:34 | 显示全部楼层 |阅读模式
今天在网上看到有人发了强制聊天的工具,是web版的,于是谷歌了一下。找到了由杨元公布在乌云网上的bug,顺便测试了一下,可惜腾讯已经修复了。(表面上腾讯忽略了杨元的报告)2 y7 E2 D+ J. {( v4 P$ G% Q
QQ空间中,有一个谁看过我的功能,然后我们把鼠标移到他们的头像上,会弹出一个信息卡片。
, |& h) |8 Y; L+ b0 _5 U) S% q( M$ ^3 U. D2 l7 a

  \! L1 e, E! }! G6 a
: S6 s, Z# U, }2 B信息卡片上有一个聊天功能,也就是这个接口,出现了严重的bug。抓包发现聊天的接口为:
4 b, S' c" D3 N" l
8 X+ |$ v8 J3 d9 R# [6 ahttp://r.cnc.qzone.qq.com/cgi-bin/user/cgi_tmp_talk?qzone_uin=20737302&to_uin=569550119&g_tk=1593160781
2 B9 e8 i3 p0 l  _3 t  i7 @" @3 i: B7 C6 ~' ~1 Q
里边有两个重要参数qzone_uin发起QQ(以下简称sender),to_uin接收QQ(以下简称receiver),指定这两个参数后,请求接口,返回信息如下:
) J# Y7 j% K& a) c. ]$ n* [' u- I/ K1 D( P6 Y0 A6 Y6 {0 a5 [

    * T8 \' u" u; K+ h<script type="text/javascript">

  • 7 b+ R( S! Z) M' {  e6 Q% [<!--

  • 6 p( A  z+ N& e& f7 ^/ Xvar url = 'tencent://message/?Menu=yes&uin=569550119&Service=112&SigT=ff8847c4116e035fd4b467f691cd9e42c0d413cec47eefb75d5e970421a2376ab400fffb0ea6cb8a&SigU=8a718a0cd8eba14b389fceb5788e72797b8a7eae107b9c43dd56bc7cc21090bccf67158b657963841c529232def3d416761799a1050acaaa29033f62f7fb46b5580fef571e7d82041508e926d65900ae77fae70b9cc4a341b7677c65b215d0327211235a5702bb6564157a3dfc11abe4';

  • % G; \8 w% j) _  ]7 E4 o2 Vlocation = url;

  • & u+ m9 R5 _) s7 \# w( w0 p//-->
  • </script> 8 ]5 Q( L3 L, h8 R0 h

0 x' W1 e# ]8 Q; ^5 F+ s9 G# W  }. r
8 {' R, A7 b' H$ i这里边又有三个非常重要的数据,经过大量实践,发现:uin是接收人的QQ,SigT是receiver的指纹,SigU是sender的指纹。
, F  w; m2 F3 |) m$ X
- w5 y' o2 z, j4 e由此可见,有了这两个指纹,然后访问tencent://message/接口,就可以发起临时会话。
" e7 y9 u% {. A/ Z0 Z8 F; F1 `& f. c9 J$ N6 e

0 p3 D8 t9 l; I! X- q# Z+ Z
) _, B( G' i5 F" G" {9 f4 D' k$ {6 Q7 `" X
这里边又有三个非常重要的数据,经过大量实践,发现:uin是接收人的QQ,SigT是receiver的指纹,SigU是sender的指纹。
( f. a* R$ z$ e6 _2 X7 Y! d* j4 h" ~) f) i
由此可见,有了这两个指纹,然后访问tencent://message/接口,就可以发起临时会话。
( z$ o+ v, W% O- A+ @9 W& L
5 F8 [  P5 c/ \: z% m/ b那怎么实现强聊呢?3 l- N+ I- |! s9 k) L

8 n3 x: R# o  L6 v& l5 x* m/ `小虫直接说结论,想强聊,必须知道自己一个好友的QQ号和被聊人一个好友的QQ号。这两个条件均不难实现,自己的QQ好友您还不知道么。。。而被聊人的QQ好友,也是很容易获取的,比如你想和你同班的美女聊,那么班主任的QQ就是切入点。
5 x" k$ _% ]6 b; e) J8 U4 B6 c
, ?. k3 a( F$ g- t9 y& e2 w2 T. M为什么需要这么奇怪的条件呢?小虫直接演示。. G- q, O: m0 v! C+ j8 \

& S7 |/ ]' N  ]0 o4 H( ~) p7 N假设有四个角色,分别是A(发起人),AF(发起人好友),B(接收人),BF(接收人好友)6 B' ^" {& i$ ], J

( k# J6 ]- ^1 G- S! e! }第一步,我们需要在A和AF间建立一个通道,将A作为聊天的发起人,可以这样构造URL:
# f$ n$ M8 s6 p4 T! W5 ?8 [9 N1 W
http://r.cnc.qzone.qq.com/cgi-bin/user/cgi_tmp_talk?qzone_uin=A&to_uin=AF&g_tk=1593160781' s5 k7 }! A& g0 p
8 r, G. a$ ]0 {% ^

) E( g3 [" ?4 x" p在服务器返回的参数中,我们拿到SigU参数,这个也就是A作为sender的指纹。
* Q. l& c. o" p! U- Q) ~
% W1 p- l4 V9 j2 ~; u( }第二步,我们在B和BF间建立一个通道,将B作为聊天接收人,可以这样构造URL:3 c2 K/ q- w4 `9 L1 j

8 `+ N& T) P' y. @http://r.cnc.qzone.qq.com/cgi-bin/user/cgi_tmp_talk?qzone_uin=BF&to_uin=B&g_tk=1593160781
% Y, ~; a* @$ C5 C4 Q
' S' p& b- A8 g
8 j2 U" V1 R+ B6 Y8 {& B3 D( ^在服务器返回的参数中,我们拿到SigT参数,这个也就是 B作为receiver的指纹。! g1 m( `- |" H) I  h2 `2 }" ?$ |

8 @8 y' C3 _; I& A4 r接下来我们把这两个指纹混合在一起,访问tencent://message/接口(别忘了加上最基本的uin参数,接收人QQ),恭喜,可以聊天了!
' c5 H- S6 {4 P$ V& |1 ]8 E, n6 K; U( m9 m6 K$ s4 h
等等,好像有大问题,假如B和BF不是好友呢?我们并不能保证他们一定是好友,也就是说,我们是猜的。
  U! Y# e6 @+ z% k$ E. N
- m7 S) {; S. w8 p( A: g$ D
% y3 h' U5 e0 q聪明的你可能已经发觉了,这个接口可以测试两个QQ号码是不是好友(前提是被测者未开通QQ在线状态,如果一方开通了这个服务,可以尝试将sender、receiver反过来)!!!
6 Q6 G- Q1 g8 w: M( Q6 f
3 T' B9 |- B- K% }/ t9 E这是多么邪恶的接口!7 @! o: l$ U# Y
# x# z% q8 d, M8 T- q. v. n& b! H9 ]. l
不法分子可以通过这个接口收费帮别人测试好友,进而导致情侣隐私泄漏,夫妻感情破裂,进而导致社会不和谐,进而导致生产力下降,进而导致科技停止发展,严重阻碍人类进化。8 \2 y, Q8 `0 m

" s/ r* ^: y2 B5 r最后,补充一句,通过这个方法发起的临时会话,即使没有开启QQ在线状态服务也是可以的,除非你屏蔽了所有临时会话。
/ \% L) e/ P5 n' {: t) K% x
5 ~5 q2 V" \$ o6 v( h0 V
发表于 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 15:57 , Processed in 0.065115 second(s), 18 queries .

Powered by abc369 X3.4

© 2001-2023 abc369.

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