|
QQ快捷登录api回调 | | | |
super或clientkey | 文本型 | | | | daid | 文本型 | | | | appid | 文本型 | | | | s_url | 文本型 | | | | 附加参数 | 文本型 | | | | s_url编码 | 逻辑型 | | | | QQ | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 返回值 | 文本型 | | | 返回cookies | 文本型 | | | 判断 (super或clientkey ≠ “”)判断 (寻找文本 (super或clientkey, “superkey=”, , 假) = -1 )返回值 = 编码_Utf8到Ansi (网页_访问_对象 (“http://ptlogin2.qq.com/jump?clientuin=” + QQ + “&clientkey=” + super或clientkey + “&keyindex=9&pt_aid=” + appid + “&daid=” + daid + “&u1=” + 选择 (s_url编码, 编码_URL编码 (s_url, 真, 真), s_url ) + “&ptopt=1” + 附加参数, , , , 返回cookies, , , , , , , , , , , , 假)) QQ = “”返回值 = 文本_取出中间文本 (返回值, “'http”, “'”, , )判断 (返回值 ≠ “”)网页_访问_对象 (“http” + 返回值, , , 返回cookies, 返回值, , , , 真, , , , , , , , 假)判断 (返回值 ≠ “”)super或clientkey = “”super或clientkey = 网页_Cookie合并更新 (返回cookies, 返回值 )删除空白cookies值 (super或clientkey )QQ = 文本_正则替换 (取cookies部分 (super或clientkey, “uin”), “o[0]*”, , , )super或clientkey = “”super或clientkey = “”返回值 = 编码_Utf8到Ansi (网页_访问_对象 (“https://ssl.ptlogin2.qq.com/pt4_auth?daid=” + daid + “&appid=” + appid + “&auth_token=” + 计算auth_token (super或clientkey ) + 附加参数, , , super或clientkey, 返回cookies, , , , , , , , , , , , 假)) QQ = “”返回值 = 文本_取出中间文本 (返回值, “'http”, “'”, , )判断 (返回值 ≠ “”)网页_访问_对象 (“http” + 返回值 + “®master=&aid=” + appid + “&s_url=” + 选择 (s_url编码, 编码_URL编码 (s_url, 真, 真), s_url ) + 附加参数, , , super或clientkey, 返回值, , , , 真, , , , , , , , 假)判断 (返回值 ≠ “”)super或clientkey = “”super或clientkey = 网页_Cookie合并更新 (返回cookies, 返回值 )删除空白cookies值 (super或clientkey )QQ = 文本_正则替换 (取cookies部分 (super或clientkey, “uin”), “o[0]*”, , , )super或clientkey = “”super或clientkey = “”QQ = “”
登录各种QQ的web平台
方法1:
利用superkey等"super值"进行快捷登录,很简单,比如QQ空间,QQ空间二维码登录之后(时效不怎么样)
cookie里面即有相关数据
方法2:利用QQclientkey进行快捷登录(基本上QQ在线就不会失效)
以上的cookie以及clientkey都很容易获取,重点是,不同的web平台的daid、appid、回调url(surl)不同,只要获取到他们,就可以任意"搞事情"了
首先,拿QQ空间为例子,打开QQ空间登录界面
因为二维码登录需要循环取结果,所以会请求一个地址,我们复制出来
https://ssl.ptlogin2.qq.com/ptqrlogin?u1=https%3A%2F%2Fqzs.qzone.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&ptqrtoken=1444878283&ptredirect=0&h=1&t=1&g=1&from_ui=1&ptlang=2052&action=0-0-1534177268129&js_ver=10278&js_type=1&login_sig=GKNQoA9o82snnk2e-t0oXuwZOEqi7GfRPObAHqfVdlZ1JhU8Oo35XOLYX2d6CzPi&pt_uistyle=40&aid=549000912&daid=5&has_onekey=1&
啥?看见啥了?没错,东西都在里面
&aid=549000912&daid=5
这样,我们就拿到appid(aid)和daid了,有一些平台没有daid,那就留空呗
接下来就是获取回调url了,也就是上面的u1字段,然后,就大功告成咯!
有的平台是不支持快捷登录的(比如webqq,QQ钱包),但是可以二维码登录他们,然后再利用
返回的cookie登录其他平台
当然,并不是所有平台就这么简单,还有的平台需要“善后”,也就是二次获取相关的信息,这里拿QQ邮箱举例子
打开w.mail.qq.com,自动跳转到了这个url
https://ui.ptlogin2.qq.com/cgi-bin/login?style=9&appid=522005705&daid=4&s_url=https%3A%2F%2Fw.mail.qq.com%2Fcgi-bin%2Flogin%3Fvt%3Dpassport%26vm%3Dwsk%26delegate_url%3D%26f%3Dxhtml%26target%3D&hln_css=http%3A%2F%2Fmail.qq.com%2Fzh_CN%2Fhtmledition%2Fimages%2Flogo%2Fqqmail%2Fqqmail_logo_default_200h.png&low_login=1&hln_autologin=%E8%AE%B0%E4%BD%8F%E7%99%BB%E5%BD%95%E7%8A%B6%E6%80%81&pt_no_onekey=1
获取到平台的appid、daid、surl(这里是s_url,要懂得变通)
然后我们看看登录流程
看完一脸懵逼,sid哪里来的?
首先就去找cookies,结果发现没有,这个时候目光就转向了跳转页面
是不是在那里进行了什么py交易?
查看下源代码
果然有猫腻!!TX爸爸你厉害,号sid搞到了,然后就可以痛快的“玩耍”了
(以上例子,只希望触类旁通,而不是完全模仿)
说明下贴的代码,精益模块我用的5.83,网页_访问_对象 有问题 当输入和输出为同一个变量的时候,开启更新cookie,如果返回的cookie是空白,那么旧cokie也没了,我改过了,我不知道6.6有没有这个问题,如果有,那就自己改下,改成两个变量存,或者直接改精益模块
|