qq空间电脑版登录入口手机 qq空间电脑版登陆入口


[hack]技术揭秘“QQ空间”自动转发不良信息
【qq空间电脑版登录入口手机 qq空间电脑版登陆入口】2015-08-23
小提示,如果您在用微信浏览,长按图片就可以关注了哦~
大家经常会看到QQ空间自动转发一些附带链接的不良信息,即便我们的QQ密码并没有被盗取 。最近通过对一个QQ空间自动转发链接进行分析,发现该自动转发机制通过利用腾讯网站存在漏洞的页面,精心构造出利用代码获取用户的QQ号和skey值,从而获得用户的一些敏感操作权限 。并通过该漏洞自动转发一些不良信息诱导用户点击,从而导致大面积传播 。
传播现象
如果有一天,你发现好多QQ好友空间都在发一条说说,并且这个说说附带了一个链接,像下图这样:

qq空间电脑版登录入口手机 qq空间电脑版登陆入口


此时你就要注意了,那个网页你点进去你也会一起中毒,并在你没有察觉的情况下在你的空间转同样的内容 。
针对这种情况,我们通过分析其原理得知其转发机制,下边我们以一个实例,并用最容易理解的方式来告诉大家这种不良信息是如何转发以及如何防范 。
转发机制
腾讯地图的一个实时竞价页面存在一个XSS漏洞,由于没有对请求参数做严格检查,通过精心构造的请求数据导致返回信息中的数据可被利用来执行js代码,同时服务器没有对请求来源进行检测,因此可以造成CSRF攻击 。
查看之前抓取到的利用该漏洞进行不良信息转发的页面,在该页面开头嵌入了一个iframe标签如下:
标签style为隐藏属性,从而使得该插入页面不会被用户发现,插入的页面链接就是构造好的url地址 。
当页面被加载时,页面通过这个url接口向腾讯地图的RealTime Bidding服务器发送一个请求,服务器没有对请求来源进行效验,直接将请求的数据返回,并附带了一些查询信息,如下图所示,其中exploit是构造的利用代码 。
qq空间电脑版登录入口手机 qq空间电脑版登陆入口


当exploit = \’
qq空间电脑版登录入口手机 qq空间电脑版登陆入口


该js代码做了混淆,其按照OlOlll=”(x)”的方式进行替换,我们还原第一部分代码为:
eval(\”var l = function(x){return String.fromCharCode(x)}\”);
该处生成一个函数I,其功能是返回数字对应的ascii码,下边利用该函数将一些数字还原成新的函数,依次类推,最后解出来的功能代码如下所示:
qq空间电脑版登录入口手机 qq空间电脑版登陆入口


代码通过document.cookie获取用户的cookie信息,然后从中提取uin值和skey值,通过抓包可以看到,uin值是由o开头加上QQ号组成,因此相当于就获取了用户的QQ号,skey是以@开头的一段字符 。之后调用函数document.createElement创建了一对script标签来执行如下脚本:
其中参数q是QQ号,k为skey的值,getGTK(str)是为了给skey签名,这样可以确保skey是有效的 。该脚本把获取到的QQ号和skey值通过附加到链接参数提交给远程服务器 。
利用Skey进行敏感操作
Skey 是一次性口令,服务器为每个用户建立一个skey作为用户的权限代码,服务器验证该值即可获取用户的一些权限操作,该值会被浏览器记录在cookie信息中,只要用户不退出登录就会有效 。也就是说如果获得一个QQ号码的Skey代码,也就相应的拿到了对方QQ登陆和管理权限,通过调用相应的操作接口API,即可不通过用户密码实现对用户空间,相册的访问权限,同时也可以发表说说,删除留言等一些敏感操作 。
下边进行一个简单的测试来实现在QQ空间发表状态 。

推荐阅读