漏洞无处不在之窃取你的QQ信息

2012/5/16 16:52:00  人气 812    怀旧国机论坛  
以下在文章中出现的内容皆从技术角度探讨问题,请勿使用下文所提到的技术从事非法行为! Thursday, July 01, 2010 我的上一篇博客 《检测本地是否登录了指定QQ》 中介绍了通过QQ官方页面来获取已 ... 以下在文章中出现的内容皆从技术角度探讨问题,请勿使用下文所提到的技术从事非法行为! Thursday, July 01, 2010 我的上一篇博客 《检测本地是否登录了指定QQ》 中介绍了通过QQ官方页面来获取已登陆QQ信息的方法, 通过对QQ页面中js文件的研究,我们可以更进一步的获取到更多信息! 下面我们就来一步一步分析下, 首先来看一下上次文章中提到的js中的一个关键函数: hummer_loaduin() function hummer_loaduin(){ q_aUinList.length=0; var P=q_hummerQtrl.DoOperation(1,g_vOptData); if(null==P) { return } try{ var M=P.GetArray(“PTALIST“); var T=M.GetSize(); var O=““; var F=document.getElementById(“list_uin“); for(var U=0;U<T;U++) { var C=M.GetData(U); var R=C.GetDWord(“dwSSO_Account_dwAccountUin“); var G=““; var J=C.GetByte(“cSSO_Account_cAccountType“); var S=R; if(J==1) { try{ G=C.GetArray(“SSO_Account_AccountValueList“); S=G.GetStr(0) } catch(Q) {} } var K=0; try{ K=C.GetWord(“wSSO_Account_wFaceIndex“) } catch(Q) {K=0} var L=““; try{ L=C.GetStr(“strSSO_Account_strNickName“) } catch(Q) {L=““} var D=C.GetBuf(“bufGTKey_PTLOGIN“); var E=C.GetBuf(“bufST_PTLOGIN“); var I=““; var A=E.GetSize(); for(var N=0;N<A;N++) { var B=E.GetAt(N).toString(“16“); if(B.length==1) {B=“0“+B} I+=B } var H={uin:R,name:S,type:J,face:K,nick:L,key:I}; q_aUinList[U]=H } switch(q_aUinList.length) { case 0:ptui_reportAttr(77430,false);break; case 1:ptui_reportAttr(77431,false);break; default:ptui_reportAttr(77432,false) } } catch(Q){} } 我们注意函数中的这一句:var H={uin:R,name:S,type:J,face:K,nick:L,key:I}; 为什么要注意这一句呢,我们假设现在不清楚它的COM 是通过哪些接口哪些命名来获取QQ信息的, 但一般来说看字面意思 uin即是QQ账号 name即是QQ用户名 key当然就是。。(呵呵,大家应该都知道了) 为什么要强调这句代码呢,不是为了来理解字面意思,而是先让大家认识下本文的主题“窃取你的QQ信息” 下面先给大家介绍一个东西: ClientKey, 想必很多人都知道这个东西,也不乏有很多人在网上讨论如何获取这个东西,不知道的同学们现在就要注意啦, ClientKey 是一个你QQ登陆成功后从服务器返回来的值,利用这个值可以使用你账号在QQ的所有应用(这里说的有点不大清楚,不过还是自己去查下吧), 比如:通过ClientKey 我就可以登陆你的拍拍账号,甚至是财付通账号,通过ClientKey 我不需要你的QQ号密码就能登录你的QQ邮箱 好了,废话不多说,我们接着分析,说到了ClientKey,那么聪明的同学都想到了 ClientKey就对应上面的var H.key, var H的其他字段都不重要了,因为有了key的存在, 好,继续看var H 这句代码的下面一句:q_aUinList[U]=H 大家猜猜 q_aUinList 会是什么呢, (呵呵,猜个鸟啊猜) 往上看,var q_aUinList=new Array(); 这下知道咯 ,原来 q_aUinList 是个数组对象哦,综合起来: for(var U=0;U<T;U++) { var H={uin:R,name:S,type:J,face:K,nick:L,key:I}; q_aUinList[U]=H ; } 很明显咯,q_aUinList数组对象存放
『炎 ら盟__承接者:心の唤(ID6813)加精此贴05-16 20:10

. 活着比什么都装B

发表回复

   


  通知楼主

椅子

187777.05-18 11:36
看不懂

回复只看TA

沙发

★风流小猪★.05-16 22:04
太深奥了菜鸟表示看不懂

回复只看TA