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

简介:


NEET
&
Independent Researcher

公告

leftmenu-imgs-1.gif 文章大多为转载 仅留作资料备份

Link

arrow.gif  个人主页 - Github 
arrow.gif  一只猿 - 前端攻城尸 
arrow.gif  小五义 - 博客园 
arrow.gif  Sword Soul - 冷夜 
arrow.gif  IterNull Blog - 万物即联网
arrow.gif  ZnHoCn's Blog
arrow.gif  极客匠 - GeekBuddy
arrow.gif  360 UnicornTeam
arrow.gif  360 Unicorn名人堂
arrow.gif  音風の部屋 

博主信息

昵称: K1two2
园龄: 3年9个月
粉丝: 96
关注: 1
技术揭秘“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攻击。

sigline.gif 
本文转自 K1two2 博客园博客,原文链接:http://www.cnblogs.com/k1two2/p/4749799.html   ,如需转载请自行联系原作者
相关文章
|
SQL 存储 JSON
微信朋友圈转发第三方网站带缩略图实现
前情提要 有时候我们会在朋友圈看到如下两种转发情况:一种是前面带缩略图的 ,一种是无缩略图的,当然有缩略图的不管是从用户体验,还是网站推广运营方都是更优的选择。 那我们看看微信分享朋友圈缩略图是 怎么一回事呢 注:微信6.5.5版本后,微信调整了分享规则。
1522 0
|
24天前
|
小程序
Proxifier转发Burpsuite联动xray抓微信小程序数据包
Proxifier转发Burpsuite联动xray抓微信小程序数据包
|
11月前
|
存储 搜索推荐 索引
推荐5款压箱底的宝贝软件,建议收藏转发
今天要给大家推荐5款压箱底的宝贝软件了,百度搜索一下就能找到下载链接了。
83 0
|
安全 物联网 开发工具
第八期| 藏在短视频背后的黑灰产:批量刷票、虚假流量
顶象防御云业务安全情报BSL-2022-a3c11号显示,某短视频平台部分Up主在中秋节平台活动期间借助黑灰产工具分设备牧场、代理IP、黑卡、自动化程序等进行批量刷票,严重影响其他用户参与的积极性,给平台的带来大额的资产损失和大量虚假用户,不仅严重破坏了平台生态,而且使得刷票风气盛行,平台活动公平性被质疑,信誉受损。
217 0
第八期| 藏在短视频背后的黑灰产:批量刷票、虚假流量
小程序文章转发到企业微信朋友圈——自己记录可能不适合每个人
小程序文章转发到企业微信朋友圈——自己记录可能不适合每个人
|
SQL 缓存 自然语言处理
百度网址安全中心提醒您该页面可能存在钓鱼欺诈信息处理解决办法
2018年8月份初正值炎热酷暑的夏天,我们sine安全公司接到新客户的安全反映,说是他们公司网站首页标题被黑客篡改成赌博的内容,导致网站在百度搜索里红色风险提示,百度快照搜索关键词显示:百度网址安全中心提醒您:该页面可能存在钓鱼欺诈信息!而且网站在百度收录里,收录了许多赌博,博彩内容的百度快照,直接导致网站被主机服务商,给拦截阻断提示,直接打不开网站了,要求该客户自行检查网站的内容以及违规内容生成的文件和目录.
551 0
百度网址安全中心提醒您该页面可能存在钓鱼欺诈信息处理解决办法
|
安全 数据采集 搜索推荐
Shodan新增主动欺骗能力,可识别全球僵尸网络控制中心
本文讲的是Shodan新增主动欺骗能力,可识别全球僵尸网络控制中心,根据ZDnet援引Shodan消息,网络空间搜索引擎Shodan刚刚宣布了一项新能力——Malware Hunter,识别全球范围各种僵尸网络的控制中心(C2)。
1520 0
|
安全 网络安全
又双叒叕是你!有人开始利用虚假《权利的游戏》泄漏资源发起APT攻击
本文讲的是又双叒叕是你!有人开始利用虚假《权利的游戏》泄漏资源发起APT攻击,《权力的游戏》资源被盗已经不是什么新鲜事,除了背后的黑客能用它来赚取赎金外,最高兴的莫过于追剧的粉丝了。粉丝的逻辑通常是这样的:资源泄漏>资源出现>下载种子>疯狂追剧。所以,对看片一族来说,种子是个神奇的东西。
2252 0