[转帖]web安全:QQ号快速登录漏洞及被盗原理
web安全:QQ号快速登录漏洞及被盗原理
https://www.cnblogs.com/1996V/p/7481823.html 看了下 QQ的确监听 端口 大神牛B 自己这一块一直没深入学习过..
为什么你什么都没干,但QQ空间中却发了很多小广告?也许你的QQ账号已经被盗。本文将讲解一个QQ的快速登录的原理。
而利用这个原理最终可以实现,只要你点击一个页面或运行过一个程序,那么我就可以拥有你的登录权限。可以直接进你邮箱,进你微云,进你QQ空间等....
看懂本篇需要一点点web安全的基础,请移步我的上篇
web安全:通俗易懂,以实例讲述破解网站的原理及如何进行防护!如何让网站变得更安全。
http://www.cnblogs.com/1996V/p/7458377.html

腾讯QQ有一个快速登录的功能,意思就是当你点开网页的时候,他能自动效验你是否登录了QQ。
那么腾讯是怎样实现的呢?
腾讯是通过NPAPI和 ActiveX 来实现的。
(网景插件应用程序编程接口(NPAPI, Netscape Plugin Application Programming Interface)是Netscape Navigator、Mozilla Suite、Mozilla SeaMonkey和Mozilla Firefox等Gecko引擎浏览器与Apple Safari和Google Chrome等webkit引擎浏览器所使用的类似ActiveX的插件接口。
ActiveX 是一个开放的集成平台,为开发人员、 用户和 Web生产商提供了一个快速而简便的在 Internet 和 Intranet 创建程序集成和内容的方法。 使用 ActiveX, 可轻松方便的在 Web页中插入 多媒体效果、 交互式对象、以及复杂程序,创建用户体验相当的高质量多媒体CD-ROM 。)
因为IE从5.5版本后停止支持 NPAPI,所以, 腾讯对 IE浏览器 采用 ActiveX 插件,对除IE浏览器等其它主流浏览器采用NPAPI的形式来实现快速登录。
每当你运行该页面的时候,他会判断你浏览器支持不支持ActiveX,然后再进行相关操作,代码我就不放出来了,有兴趣的大家可自行百度了解。
当然,如果用ActiveX呢,你的浏览器又得下载插件,如果用NPAPI呢部分浏览器还要审核插件,并且伴随着时代的发展,NPAPI和ActiveX 已经显得老态龙钟,所以,腾讯想了个新花招来实现快速登录。
原来,QQ在本地开了一些端口(4300),做了个httpd,可以把这个东西理解成web服务器,类似于IIS Express
httpd是是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。
下面,我们开始着眼于实现。
将使用到一款工具:Fiddler。
我们随便打开一个QQ域下的网站,比如www.qq.com,我们打开Fiddler进行监测。
发现:

在ui.ptlogin2.qq.com的Host下,会产生一个key为 pt_local_token的 cookie, 如图所示,尾号为562。
然后我们点击右上角登录,

继而会弹出一个快速登录的框

他是怎么监测到我登录的有QQ号呢?
好,我们接着用Fiddler来监测,我们发现,当点击右上角登录的时候,会触发一个接口。

这个接口的地址是:https://localhost.ptlogin2.qq.com:4300/pt_get_uins?callback=ptui_getuins_CB&r=0.9417236381383591&pt_local_tk=0.1111111111111562

我们可以发现 ,这个接口的 pt_local_tk参数就是 之前的pt_local_token,尾号562,刚好吻合。
这个接口返回了一串 关于当前QQ的信息:
var var_sso_uin_list=[{"account":"137780739","client_type":65793,"face_index":486,"gender":1,"nickname":"看客 er","uin":"137780739","uin_flag":323486274}];ptui_getuins_CB(var_sso_uin_list);
还发现,还会请求一个接口,ptlogin2.qq.com/getface?appid=636014201&imgtype=3&encrytype=0&devtype=0&keytpye=0&uin=137780739&r=0.9433088515882535
这个接口会返回当前QQ的头像地址:

这样一来,页面上就显示了我们的头像 网名等信息了。
再然后我们在快速登录框中点击, 登录按钮。
会调用:localhost.ptlogin2.qq.com:4300/pt_get_st?clientuin=137780739&callback=ptui_getst_CB&r=0.2443934530496683&pt_local_tk=0.11111111111111562
这个接口的作用是,服务器设置给浏览器Cookie,

再然后,又会调用接口:/jump?clientuin=137780739&keyindex=9&pt_aid=636014201&u1=http://www.qq.com/qq2012/loginSuccess.htm&pt_local_tk=0.11111111111111562&pt_3rd_aid=0&ptopt=1&style=40
将带入之前的Cookie然后进入这个接口,最终返回的仍然是注册Cookie,

而这次的Cookie,就是你登录所需要的Cookie。
这些Cookie就相当于令牌,有了这个令牌就可以拥有快速登录的权限,就相当于你登录一般的网站,账号密码进去,后台会给浏览器注册一条Token来做状态验证一样。
也就是说,拿到了Cookie,你就可以通过CSRF(跨站伪装)的形式,来搞好多事情。
可以在网站上放一个页面,里面跑http请求,或者搞个窗体,里面也跑http请求。
只要你电脑上登录了QQ,只要你打开了这个页面或者打开了这个窗体,那么你的账号就已经被入侵!
不需要输入账号密码,可以直接拿着QQ空间发表留言的接口直接调用,可以直接爬虫抓相册图片,可以进微云等等等等。
最后,再告诉大家一个非常好的接口。
http://localhost.ptlogin2.qq.com:4300/mc_get_uins
Host: localhost.ptlogin2.qq.com:4300
Connection: keep-alive
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
Upgrade-Insecure-Requests: 1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
Get即可
返回:

作者:小曾出处:http://www.cnblogs.com/1996V/p/7481823.html 欢迎转载,但任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请给我留言.Net交流群, QQ群:166843154 欲望与挣扎
[转帖]web安全:QQ号快速登录漏洞及被盗原理的更多相关文章
- QQ号快速登录漏洞及被盗原理
web安全:QQ号快速登录漏洞及被盗原理 为什么你什么都没干,但QQ空间中却发了很多小广告?也许你的QQ账号已经被盗.本文将讲解一个QQ的快速登录的漏洞. 我前阵子在论坛上看到一个QQ的快速登录的 ...
- web安全:QQ号快速登录漏洞及被盗原理
为什么你什么都没干,但QQ空间中却发了很多小广告?也许你的QQ账号已经被盗.本文将讲解一个QQ的快速登录的漏洞. 我前阵子在论坛上看到一个QQ的快速登录的漏洞,觉得非常不错,所以把部分原文给转到园子来 ...
- QQ快速登录协议分析以及风险反思
前言 众所周知,Tencent以前使用Activex的方式实施QQ快速登录,现在快速登录已经不用控件了.那现在用了什么奇葩的方法做到Web和本地的应用程序交互呢?其实猜测一下,Web和本地应用进行交互 ...
- 使用QQ第三方登录时,手机应用和网站应用对同一个QQ号,获取到的openid不一样
使用QQ第三方登录时,手机应用和网站应用对同一个QQ号,获取到的openid不一样openid生成是根据应用的appid和QQ号的一些信息加密生成,对于一个appid和QQ号来说,openid是唯一的 ...
- Your wechat account may be LIMITED to log in WEB wechat, error info: <error><ret>1203</ret><message>为了你的帐号安全,此微信号不能登录网页微信。你可以使用Windows微信或Mac微信在电脑端登录。Windows微信下载地址:WeChat for PC
转载:https://zhuanlan.zhihu.com/p/76180564 微信网页版限制登录或禁止登录将影响一大批使用itchat等Web Api方案的微信机器人 网页版微信 API 被封了, ...
- 开放平台-web实现QQ第三方登录
应用场景 web应用通过QQ登录授权实现第三方登录. 操作步骤 1 注册成为QQ互联平台开发者,http://connect.qq.com/ 2 准备一个可访问的域名, ...
- web实现QQ第三方登录
开放平台-web实现QQ第三方登录 应用场景 web应用通过QQ登录授权实现第三方登录. 操作步骤 1 注册成为QQ互联平台开发者,http://connect.qq.com ...
- web实现QQ第三方登录 开放平台-web实现QQ第三方登录
应用场景 web应用通过QQ登录授权实现第三方登录. 操作步骤 1 注册成为QQ互联平台开发者,http://connect.qq.com/ 2 准备一个可访问的域名, ...
- java实现QQ空间模拟登录
import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import j ...
随机推荐
- 51nod 1238 最小公倍数之和 V3
51nod 1238 最小公倍数之和 V3 求 \[ \sum_{i=1}^N\sum_{j=1}^N lcm(i,j) \] \(N\leq 10^{10}\) 先按照套路推一波反演的式子: \[ ...
- Python学习之装饰器进阶
函数知识回顾: 函数的参数分为:实参和形参. 实参:调用函数的时候传入的参数: 形参:分为3种(位置参数.默认参数.动态传参) 位置参数:必须传值 def aaa(a,b): print(a,b) a ...
- 移动HTML5前端性能优化指南
概述 1. PC优化手段在Mobile侧同样适用 2. 在Mobile侧我们提出三秒种渲染完成首屏指标 3. 基于第二点,首屏加载3秒完成或使用Loading 4. 基于联通3G网络平均338KB/s ...
- UVA120-Stacks of Flapjacks(思维)
Problem UVA120-Stacks of Flapjacks Accept: 9232 Submit: 38455Time Limit: 10000 mSec Problem Descrip ...
- Springboot根据浏览器实现网站资源国际化
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code 根据浏览器地区主动选择资源 1.创建资源化文件 resource目录下创建messag ...
- Keepalive工作原理
Keepalive工作原理 1.1软件介绍 Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.因此 ...
- Python 在 Terminal 中的自动补全
为了在 Terminal 中使用 Python 更加方便,在 home 目录下添加脚本 .pythonstartup,内容如下, 然后在 .bashrc 中添加 export PYTHONSTARTU ...
- Spring Security(二十三):6.5 The Default AccessDecisionManager(默认接入策略管理)
This section assumes you have some knowledge of the underlying architecture for access-control withi ...
- mysql 数据库磁盘占用量统计
查看某个表的磁盘占用量 select (data_length+index_length)/1024/1024 M from information_schema.tables where table ...
- win7 64位操作系统 电脑桌面出现this computer is being attacked的窗口
本人为win7 64位操作系统,戴尔笔记本电脑. 昨天在教室写程序来着,突然桌面上出现this computer is being attacked的窗口,如下所示.每隔半分钟左右出现在电脑桌面上转两 ...