首页
统计
邻居
留言
关于
Search
1
彩虹商城系统开发API文档
4,372 阅读
2
IntelliJ IDEA 报错TextMate bundle load error: Bundle kotlin can't be registered
3,764 阅读
3
使用RaiDrive将网盘映射为本地磁盘
2,198 阅读
4
谷歌浏览器 Google Chrome 69.0.3497.100 正式稳定版、测试版及开发版本大全
2,148 阅读
5
抖音、小红书、快手 免费三网解析去水印小工具
2,066 阅读
精选推荐
源码分享
软件下载
影视资源
经验教程
模板插件
Emlogo
Wordpress
浮夸小生。
情感杂文
趣味生活
影视后期
Java学习笔记
登录
Search
标签搜索
个人分享
Wordpress
浮夸小生。
Wordpress教程
Java
PHP
Wordpress优化
Java笔记
网络技巧
网站
CDN
Windows
又拍云
教程
浏览器
IntelliJ IDEA
html
建站教程
微信
情感杂文
浮夸小生。
累计撰写
83
篇文章
累计收到
222
条评论
首页
栏目
精选推荐
源码分享
软件下载
影视资源
经验教程
模板插件
Emlogo
Wordpress
浮夸小生。
情感杂文
趣味生活
影视后期
Java学习笔记
页面
统计
邻居
留言
关于
搜索到
1
篇与
QQ协议
的结果
2019-09-27
QQ协议抓取
作为 Tentcent QQ 的用户怎么能少得了去研究呢?人始于好奇心,只有去发现了解才能懂得更多。至此,给大家分享自己抓的 QQ 协议的相关内容,供大家学习。 近期…也不能算是近期吧,一次偶然的 QQ 第三方登录想分析下登录成功后的 Cookie,可能当时也回忆起 QQ 很多服务都是通过 skey 来鉴权的。所以应该能通过模拟扫描登录来操作签到之类的,不过经过大致的分析,各个地方登录得到 skey 可以操作的东西也是不一样的,比如是在腾讯业务登录的,那么 Qzone 就无法操作,反过来也是一样的。实现的过程是这样的:流程: 扫描二维码 > 确认登录 > 发起请求 模拟流程: ptqrshow[请求二维码并记录Cookie] > xlogin[页面Cookie] > ptqrlogin[获取二维码状态] >? 登录成功 > check_sig[二次登录] ↓ ↓ ↓ qrsig qrsig, pt_login_sig skey 那么,一起来开始一场紧张刺激的模拟之旅吧!首先,你需要懂得一门编程语言,其次就是得拥有一台电脑,如果你觉得不困难的话移动设备也是可行的。 First, 获取二维码。在这里我们仅需要使用 GET 请求即可。请求地址:https://ssl.ptlogin2.qq.com/ptqrshow?appid=715030901&e=2&l=M&s=3&d=72&v=4&t=0.{时间戳}&daid=73&pt_3rd_aid=0先做个简单的介绍,这个是 ptqrshow 上面所提到的”请求二维码”的 API,715030901呢,是腾讯登录业务的 产品识别码 ,腾讯下的任何一款需要登录的产品都会有,包过第三方,都会分发一个这样的 APPID ,看到后面 t= 参数后的 {时间戳} 了吧,把它替换成 当前时段的时间戳 即可。 当然了,这小巧的身体里可不只是返回二维码那么简单,还藏着十分重要的大宝贝 (指 qrsig,对于此处,我们还需要获取这个页面所包含Cookie里的 qrsig,对于我的猜测是二维码的ID,当然这是十分重要的,请保存下来,后面需要使用。 大致的Cookie长这样:qrsig=YO556objSAWbQMetukRbWUek9Q05T1*uCnVxqMTLPlLzxxarYsFQmm15bQFdCPcP; Second, 获取页面Cookie。同样的,我们仅需要 GET 。请求地址:https://xui.ptlogin2.qq.com/cgi-bin/xlogin?appid=715030901&daid=73&hide_close_icon=1&pt_no_auth=1&s_url=https%3A%2F%2Fqun.qq.com%2Fmember.html%23此处是上述提到的 xlogin ,当然,这里请求结果返回的是HTML,不用管它,保存这个页面的Cookie就好,记得是全部。 之后全程需要,并将上面获取到的 qrsig 插入进去。 好的,目前我们已经得到了 qrsig, pt_login_sig 。非常好,我们已经进行到一半了!Third, 以心跳包的方式获取二维码状态,当然了,请使用 GET。此处十分关键,请仔细阅读,如有任何疑问请在本文下方评论。 No.1 拼接 API 地址。https://ssl.ptlogin2.qq.com/ptqrlogin?u1=https%3A%2F%2Fqun.qq.com%2Fmember.html%23&ptqrtoken={ptqrtoken}&ptredirect=1&h=1&t=1&g=1&from_ui=1&ptlang=2052&action=0-0-{时间戳}&js_ver=90305&js_type=1&login_sig={pt_login_sig}&pt_uistyle=40&aid=715030901&daid=73&has_onekey=1&在看这段文字之前,想必你已经仔细阅读过该 Url 了吧。是的,这是第三部的 ptqrlogin 获取二维码状态。可以发现,链接里有几个参数是需要填写的。分别是 {ptqrtoken} , {pt_login_sig} , {时间戳},前者 ptqrtoken 既是第一步获取到的 qrsig,对的,读取出来替换就好。而中间呢 pt_login_sig 既是第二步里,所请求的页面Cookie里包含的,依旧。读取出来替换就好。至于末尾的 {时间戳} 呢,不用我多说了吧,当然时段的时间戳。然后我们需要设置Cookie,即是前两部获取到的 Cookie合集 ,对的,设置就好,否则会 400。 No.2 现在尝试请求吧!正常的返回结果是:ptuiCB('66','0','','0','二维码未失效。(2096893216)', '')如果你的结果不是这样的数据格式,而且还无法排错的话,请评论。注意,心跳包推荐是 1次/s那么,尝试扫码,并确认登录看看返回的结果吧! No.3 通过读取我们可以获取到 ptuiCB 里的一个参数,意义: 66 => 正在等待二维码扫描 68 => 正在等待确认 0 => 登录成功 对了!别忘了保存Cookie,并插入到之前的Cookie里面,全局都需要哦。 Fourth, 该获取我们想要的 skey 了。 同样的,请使用 GET 。 现在,我们需要从上述操作中返回的 ptuiCB 里读取一个Url,这个就是二次登录啦。 请求地址就是上面的那个 Url ,大概长这样:https://ptlogin2.qzone.qq.com/check_sig?pttype=1&uin=10001000&service=ptqrlogin&nodirect=0&ptsigx=0fe7ffb7e332xcascfqwfqw158ff6c40828d042d51f8e57e2636472d6eed984adqf12dcascf54979bc3688725b4fb7a55e610&s_url=https%3A%2F%2Fqzs.qzone.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&f_url=&ptlang=2052&ptredirect=100&aid=549000912&daid=5&j_later=0&low_login_hour=0®master=0&pt_login_type=3&pt_aid=0&pt_aaid=16&pt_light=0&pt_3rd_aid=0当然,请设置上面所有操作的 Cookie合集 ,否则依旧会返回 400 错误。 请求之后不用管里面的返回有什么内容,请直接获取Cookie,我们需要的 skey 就在里面!skey=@A0IboiylZ; 好了,我们现在已经完全模拟成功了,恭喜~那么,有了 skey 我们可以干什么坏事呢?当然了,来操作QQ哒! 关于调戏群签到:API [POST]:https://qun.qq.com/cgi-bin/qiandao/sign/publishCookie: 之前模拟的所有Cookie合集 参数: bkn, gallery_info, template_id, pic_id, gc, client, lgt, lat, poi, text
2019年09月27日
993 阅读
0 评论
0 点赞