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

大家经常会看到QQ空间自动转发一些附带链接的不良信息,即便我们的QQ密码并没有被盗取。最近通过对一个QQ空间自动转发链接进行分析,发现该自动转发机制通过利用腾讯网站存在漏洞的页面,精心构造出利用代码获取用户的QQ号和skey值,从而获得用户的一些敏感操作权限。并通过该漏洞自动转发一些不良信息诱导用户点击,从而导致大面积传播。

传播现象

如果有一天,你发现好多QQ好友空间都在发一条说说,并且这个说说附带了一个链接,像下图这样:

 

此时你就要注意了,那个网页你点进去你也会一起中毒,并在你没有察觉的情况下在你的空间转同样的内容。

针对这种情况,我们通过分析其原理得知其转发机制,下边我们以一个实例,并用最容易理解的方式来告诉大家这种不良信息是如何转发以及如何防范。

转发机制

腾讯地图的一个实时竞价页面存在一个XSS漏洞,由于没有对请求参数做严格检查,通过精心构造的请求数据导致返回信息中的数据可被利用来执行js代码,同时服务器没有对请求来源进行检测,因此可以造成CSRF攻击。

查看之前抓取到的利用该漏洞进行不良信息转发的页面,在该页面开头嵌入了一个iframe标签如下:

标签style为隐藏属性,从而使得该插入页面不会被用户发现,插入的页面链接就是构造好的url地址。

当页面被加载时,页面通过这个url接口向腾讯地图的RealTime Bidding服务器发送一个请求,服务器没有对请求来源进行效验,直接将请求的数据返回,并附带了一些查询信息,如下图所示,其中exploit是构造的利用代码。

当exploit = “</script><svg><script>eval(window.name);//”,请求服务器之后iframe标签里的内容就变成下边的内容:

利用代码中的标签“</script><svg><script>”用于绕过浏览器的XSS过滤器,浏览器会将这三个标签忽略掉只留下后边的内容,然后第一个注释符号将后边的内容都给注释掉了,最后的有效内容就一句:eval(window.name)。之后eval会将字符串name里边的内容当作js代码执行,其执行结果就是在文档结尾创建<script></script>标签去加载执行js主功能模块http://conf3.gamexm.net/moo.js。主功能js部分代码如下所示:

该js代码做了混淆,其按照OlOlll=”(x)”的方式进行替换,我们还原第一部分代码为:

eval("var l = function(x){return String.fromCharCode(x)}");

该处生成一个函数I,其功能是返回数字对应的ascii码,下边利用该函数将一些数字还原成新的函数,依次类推,最后解出来的功能代码如下所示:

代码通过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空间发表状态。

首先通过抓包获取到cookie信息中的uin值和skey

然后我使用curl命令通过发表说说的api向服务器发送一个包,包内容如下:

Curl命令执行过后,会在我的空间就自动发了一条说说:this is a test

由此想到了之前的天涯病毒营销系统,它是通过服务端配置中间收信网站后生成客户端,当用户点击客户端样本后,其客户端样本使用WebBrowser控件加载QQ邮箱快速登录,再利用自动填表的方式让软件自动点击“快速登录”按钮,进而可以得到本机QQ当前登录的Client Key,然后将QQ号和ClientKey提交到远程服务器上,服务端即可通过该ClientKey进行QQ登录操作,登录之后具有访问QQ空间,QQ邮箱,财付通,修改个人资料,上传文件到QQ群共享等操作。这里的ClientKey和skey其功能相同,都是一个权限代码。

修复方案和建议

1. 针对用户,不要随意点击一些不良网站信息,如果不小心中招,解决方法就是快速退出空间,如果是手机登录的话就要退出QQ,重新登陆QQ,这样会产生新的skey,原来的skey就失效了。如果只是单纯的刷新网页,或者关掉手机QQ空间,则不会改变skey。

2. 针对漏洞厂商,要检测所有接口的输入参数,进行严格过滤,防止XSS漏洞的产生;同时要对数据请求来源进行判断,非同源数据过滤掉,从而防止CSRF攻击。

时间: 2024-09-16 23:24:44

技术揭秘“QQ空间”自动转发不良信息的相关文章

php使用curl抓取qq空间的访客信息示例

 这篇文章主要介绍了php使用curl抓取qq空间的访客信息示例,需要的朋友可以参考下 config.php  代码如下: <?php define('APP_DIR', dirname(__FILE__)); define('COOKIE_FILE', APP_DIR . '/app.cookie.txt'); //会话记录文件 define('VISITOR_CAPTURE_INTERVAL', 3); //QQ采集间隔 define('VISITOR_DATA_UPLOAD_INTERVA

QQ空间自动发广告解决方法

最近空间好多人QQ都中了毒.每天我都有几十个好友刷空间话费.流量广告! QQ空间自动发广告的原因: 最近使用了刷赞或者其他QQ外挂软件(有些开发者或破解者会在这样的软件上留后门,请自己判断). 或者最近是不是用QQ账号授权登陆其他网站,做测试或者什么的. 现在很多网站可以用QQ登陆,不用新注册网站账号,这样很方便,我也常犯懒走捷径.但授权具体是怎么回事,大家还不了解,授权之后不光可以登陆网站,网站还可以利用你的QQ在你空间你的微薄发消息,利用你的QQ查看你好友的微博,而且压根不用跟你打招呼,所以

QQ空间插入视频?QQ空间自动播放视频?

1.我们先要打开自己的QQ空间,然后我们点击QQ空间的"主页---日志" 我们要让视频自动播放就需要在日志中插入视频了. 2.我们在进入到日志中我们点击"写日志"然后我们再日志中选择日志模板了,写一段对视频的说明吧,当然也可以不写了. 3.如下图所示我们点击相机图标,也就是下图的红框处,我们就可以添加视频了,在这里只是增加视频地址了,如我们可以加 优酷.土豆.56等,然后复制视频播放地址 4.然后我们把地址放进去就可以了,如果你想本地上传视频需要开始黄钻会员才可以哦

网络营销技术之——QQ空间访问

QQ空间访问器 原文: http://www.cnblogs.com/txw1958/articles/QZoneBrowser.html 网络营销新技术之QQ空间访问 开始之前,来看三个问题 你的QQ空间是不是允许所有人访问?或者你的某个QQ好友空间允许你访问? 你(或你的好友)的QQ空间是不是曾经有比较特别的用户来访问?比如性感漂亮美女或者比基尼美女? 你是不是经常也会回访一下他们的QQ空间?找一下相片或文章什么的? 如果你以上三个问题都是肯定的答案,那么恭喜,你已经新的网络营销术--QQ空

网络营销技术之——QQ空间留言

QQ空间留言器 原文:http://www.cnblogs.com/txw1958/articles/QZoneMessager.html   QQ空间留言器 QQ空间留言器是一个可以批量给QQ空间留言的小软件. 软件介绍 1. 随机访问网友QQ空间并留言 2. 自定义留言内容. 3. 慢速认定,尽量减小验证码. 4. 实时记录访问过的空间. 5. QQ已登录,则不需要再次输入账号密码,不泄密.     一.下载 1. 下载 Microsoft .NET Framework 4 QQ空间访问器是

jquery实现QQ空间自动点赞代码

QQ空间点赞-取消点赞 好友动态点赞代码  代码如下 复制代码 jQuery("a.qz_like_btn_v3[data-clicklog='like']").each(function(index,item){ console.log(item); jQuery(item).trigger('click'); }); jQuery(window).scroll(function(){ jQuery("a.qz_like_btn_v3[data-clicklog='like

php使用curl抓取qq空间的访客信息示例_php技巧

config.php 复制代码 代码如下: <?phpdefine('APP_DIR', dirname(__FILE__));define('COOKIE_FILE', APP_DIR . '/app.cookie.txt'); //会话记录文件define('VISITOR_CAPTURE_INTERVAL', 3); //QQ采集间隔define('VISITOR_DATA_UPLOAD_INTERVAL', '');define('THIS_TIME', time()); define(

让MSN自动过滤不良信息设置教程

为了净化屏幕,我们可以通过在MSN Messenger Plus!上进行设置,让对方的污言秽语不再显现在MSN的对话窗口中. 插件名称:MSN Messenger Plus V3.00.94 软件大小:3424KB 1. 安装完毕后,在MSN的主面板上会看到新增加了一个"Plus!"菜单栏,依次点击"Plus!→个人偏好设置". 2. 在"个人偏好设置"窗口中,点击"即时消息"按钮,在出现的右侧栏目中打开"文字过滤&

腾讯QQ空间淫秽信息突出

记者日前从公安部获悉,公安机关近期破获了广东湖南等地利用QQ空间传播淫秽色情信息.河北爱城网站传播淫秽物品等案件. 交易 爱城网站利用第三方支付平台 公安机关经深入调查发现,目前境外大多数色情网站都在通过支付宝.深圳NPS.快钱.云网.贝宝.易宝等国内第三方支付平台收取会员资金,而这些支付方式也成为色情网站非法牟利的重要渠道.有的第三方平台明知他人建设淫秽色情网站仍为其提供支付服务,并从交易付费中抽取15%至25%的高额提成. 2009年4月,公安部部署河北等全国18个省市网安部门统一行动,一举