★我要吧★

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

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

[复制链接]
发表于 2016-2-17 15:54:34 | 显示全部楼层 |阅读模式
今天在网上看到有人发了强制聊天的工具,是web版的,于是谷歌了一下。找到了由杨元公布在乌云网上的bug,顺便测试了一下,可惜腾讯已经修复了。(表面上腾讯忽略了杨元的报告)1 |* x# n, ~; O$ ^
QQ空间中,有一个谁看过我的功能,然后我们把鼠标移到他们的头像上,会弹出一个信息卡片。
0 Q' P0 V: J9 P) Y) |* X$ y$ i% e3 P  K9 b+ f

1 n# T4 K5 r$ n! F; a6 U/ F" \
9 q% X5 E( R4 H信息卡片上有一个聊天功能,也就是这个接口,出现了严重的bug。抓包发现聊天的接口为:5 `% j0 }8 o0 ?3 b/ N: E4 b& E0 o
7 A$ a: A( v2 N
http://r.cnc.qzone.qq.com/cgi-bin/user/cgi_tmp_talk?qzone_uin=20737302&to_uin=569550119&g_tk=15931607817 z7 @$ d- y# _* ^* o8 a
3 ~1 A8 O( o0 t9 u
里边有两个重要参数qzone_uin发起QQ(以下简称sender),to_uin接收QQ(以下简称receiver),指定这两个参数后,请求接口,返回信息如下:/ _# Y- x$ ~! I7 C9 m& |6 o

& [( D9 U8 q, V9 h0 Q! |

    ) f( p" i7 i6 y1 F<script type="text/javascript">

  • , {6 G& U# E3 m2 ]<!--
  •   M( C* }$ z% X" R7 }) }$ C* c
    var url = 'tencent://message/?Menu=yes&uin=569550119&Service=112&SigT=ff8847c4116e035fd4b467f691cd9e42c0d413cec47eefb75d5e970421a2376ab400fffb0ea6cb8a&SigU=8a718a0cd8eba14b389fceb5788e72797b8a7eae107b9c43dd56bc7cc21090bccf67158b657963841c529232def3d416761799a1050acaaa29033f62f7fb46b5580fef571e7d82041508e926d65900ae77fae70b9cc4a341b7677c65b215d0327211235a5702bb6564157a3dfc11abe4';

  • / P7 o, T- `+ P" j; Q( k. olocation = url;

  • 8 V. `* g. V( L( D% u//-->
  • </script> * a4 B6 f/ y3 Q* f& m
, ~: [0 F- i) Z/ T/ [' v
8 {! i2 e, s- r. Z
这里边又有三个非常重要的数据,经过大量实践,发现:uin是接收人的QQ,SigT是receiver的指纹,SigU是sender的指纹。
3 K4 T$ p* I, ~! J3 L1 d1 K  [3 {1 w: l9 d$ X; l) m
由此可见,有了这两个指纹,然后访问tencent://message/接口,就可以发起临时会话。4 X) M. k! P# ^$ x! c

  o' M* m% C, `9 N! a6 A2 G; m6 \7 @2 ]) u2 H3 {
  ^& K2 u% r. m" o* K
* S- I/ ^. b: C) r
这里边又有三个非常重要的数据,经过大量实践,发现:uin是接收人的QQ,SigT是receiver的指纹,SigU是sender的指纹。
4 r: q2 ~- g# i; i0 j" {' O$ \0 c1 b, g( c/ w( L
由此可见,有了这两个指纹,然后访问tencent://message/接口,就可以发起临时会话。9 ]/ W, ]2 D( G# r. p
" b/ ]+ |4 U7 ?8 G  ^
那怎么实现强聊呢?! B; k6 {, o. N$ }9 `% n
: b4 s- q( f+ l0 E' h
小虫直接说结论,想强聊,必须知道自己一个好友的QQ号和被聊人一个好友的QQ号。这两个条件均不难实现,自己的QQ好友您还不知道么。。。而被聊人的QQ好友,也是很容易获取的,比如你想和你同班的美女聊,那么班主任的QQ就是切入点。% f$ `8 v  i2 C& V
* {6 n4 C- P3 M" X0 E+ {
为什么需要这么奇怪的条件呢?小虫直接演示。$ H9 i; E9 z# x$ N( @  H

' I* p3 `; `/ H假设有四个角色,分别是A(发起人),AF(发起人好友),B(接收人),BF(接收人好友)
5 b3 s3 }* W: b* T! X! i
: R8 j" ^6 ?/ t* q第一步,我们需要在A和AF间建立一个通道,将A作为聊天的发起人,可以这样构造URL:$ r- H9 c  r$ d+ |0 t0 t  [
$ R1 q9 u0 L$ A
http://r.cnc.qzone.qq.com/cgi-bin/user/cgi_tmp_talk?qzone_uin=A&to_uin=AF&g_tk=1593160781
; x& S' ?/ c9 H8 k: `: ]
) V: D3 i( v* Y. T; I- X7 n! R% P; N$ i+ `6 V5 T% z
在服务器返回的参数中,我们拿到SigU参数,这个也就是A作为sender的指纹。$ Y2 u3 `  R2 `/ Q7 e1 M$ S5 X
: }% G8 J2 `, E$ _
第二步,我们在B和BF间建立一个通道,将B作为聊天接收人,可以这样构造URL:7 \5 X' ]) v9 q- [$ j3 t% _( P

* _0 u3 g- j7 p; q; p# mhttp://r.cnc.qzone.qq.com/cgi-bin/user/cgi_tmp_talk?qzone_uin=BF&to_uin=B&g_tk=1593160781
% h, @3 x, s9 T/ P. w/ V* `& R' T. c, O& l; f5 R

* `. c2 b# q: [4 q, k在服务器返回的参数中,我们拿到SigT参数,这个也就是 B作为receiver的指纹。
. \5 y/ b7 d7 `, W3 A$ I. u1 e
, D9 o$ e- p6 \( J; i! j: K  \接下来我们把这两个指纹混合在一起,访问tencent://message/接口(别忘了加上最基本的uin参数,接收人QQ),恭喜,可以聊天了!
2 J4 h; {& Z1 e! z
  r$ K; V  V" N" {$ d等等,好像有大问题,假如B和BF不是好友呢?我们并不能保证他们一定是好友,也就是说,我们是猜的。
* E; q9 l5 G5 w& ]. |4 Z  M) t- D
; }# j! H" i/ h5 ?- h5 {1 j6 ]
1 C+ f  m2 A* p4 ~/ [聪明的你可能已经发觉了,这个接口可以测试两个QQ号码是不是好友(前提是被测者未开通QQ在线状态,如果一方开通了这个服务,可以尝试将sender、receiver反过来)!!!' l9 u, H/ A5 U4 k3 x1 r' [$ |" ^
$ C3 u: ]4 s/ c; T* u* V
这是多么邪恶的接口!8 G+ U( N! C! e* j( T* ~
" R* [3 a. k2 f8 }; ^  j7 ~0 Q
不法分子可以通过这个接口收费帮别人测试好友,进而导致情侣隐私泄漏,夫妻感情破裂,进而导致社会不和谐,进而导致生产力下降,进而导致科技停止发展,严重阻碍人类进化。
0 Y8 e& X2 g# ^1 N; T4 m6 u: ~7 C% `- D% x8 G
最后,补充一句,通过这个方法发起的临时会话,即使没有开启QQ在线状态服务也是可以的,除非你屏蔽了所有临时会话。
3 f* B; }, s9 `" q% Z) z) J
3 m& c$ C2 F) D: ?2 `$ Z. y: E% f
发表于 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:16 , Processed in 0.067716 second(s), 18 queries .

Powered by abc369 X3.4

© 2001-2023 abc369.

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