wykwmzbj
论坛元老
论坛元老
  • 粉丝313
  • 关注268
  • 发帖数6762
  • 铜币17832枚
  • 贡献值1044点
  • 好评度1417
  • 来自山东省 淄博市 张店区
  • 最后登录2020-06-27
  • 最爱沙发
  • 师恩难忘
  • 社区明星
  • 发帖天才
  • 幽默大师
  • 发帖能手
  • 20天大作战[2015]
阅读:4167回复:42

[车库男孩]安全工作室——欢迎光临5

楼主#
更多 发布于:2015-10-21 21:25
今天的安全工作室由我负责我叫奕䜣&小达,小六是上司

今天为大家分享
         技术揭秘“QQ空间”自动转发不良信息

大家经常会看到QQ空间自动转发一些附带链接的不良信息,即便我们的QQ密码并没有被盗取。最近通过对一个QQ空间自动转发链接进行分析,发现该自动转发机制通过利用腾讯网站存在漏洞的页面,精心构造出利用代码获取用户的QQ号和skey值,从而获得用户的一些敏感操作权限。并通过该漏洞自动转发一些不良信息诱导用户点击,从而导致大面积传播。
此时你就要注意了,那个网页你点进去你也会一起中毒,并在你没有察觉的情况下在你的空间转同样的内容。
针对这种情况,我们通过分析其原理得知其转发机制,下边我们以一个实例,并用最容易理解的方式来告诉大家这种不良信息是如何转发以及如何防范。
转发机制
腾讯地图的一个实时竞价页面存在一个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主功能模块。主功能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攻击。


sg666666
金牌学员
金牌学员
  • 粉丝240
  • 关注29
  • 发帖数2855
  • 铜币17255枚
  • 贡献值244点
  • 好评度693
  • 来自湖北省 武汉市 市辖区
  • 最后登录2019-06-28
  • 社区居民
  • 发帖天才
  • 忠实会员
  • 20天大作战
  • 20天大作战[2015]
  • 发帖能手
  • 师恩难忘
  • 社区明星
  • 幽默大师
  • 最爱沙发
沙发#
发布于:2015-10-21 21:31
帖内置顶  –    –  2015-10-21 21:58
这个技术绝了~新技能get~
OverDriver
高级学员
高级学员
  • 粉丝47
  • 关注7
  • 发帖数488
  • 铜币7374枚
  • 贡献值0点
  • 好评度14
  • 来自
  • 最后登录2018-03-04
  • 社区居民
  • 忠实会员
板凳#
发布于:2015-11-08 14:14
好厉害呢
话说我的同学也有时会转发一些很奇怪的链接
都带有不良信息,我之前点击过呢0 0
怎么办会被盗吗0 0
Some legends are told Some turn to dust or to gold
bailexuan
金牌学员
金牌学员
  • 粉丝155
  • 关注27
  • 发帖数2244
  • 铜币8323枚
  • 贡献值252点
  • 好评度208
  • 来自安徽省 池州市 贵池区
  • 最后登录2017-01-26
  • 社区居民
  • 最爱沙发
  • 社区明星
  • 忠实会员
  • 发帖能手
地板#
发布于:2015-10-30 18:48
这都是什么呀!!
三个F,称霸天下!
luzhaolonglzl
论坛元老
论坛元老
  • 粉丝410
  • 关注414
  • 发帖数5308
  • 铜币21397枚
  • 贡献值366点
  • 好评度550
  • 来自
  • 最后登录2020-04-01
  • 听课之星
  • 正式学员
  • 社区居民
  • 忠实会员
  • 发帖能手
  • 社区明星
  • 幽默大师
  • 最爱沙发
  • 师恩难忘
  • 金点子
  • 20天大作战[2015]
  • 20天大作战
4楼#
发布于:2015-10-30 18:36
wykwmzbj:现在加我们的吧回到原帖
OK,我就不具体写了。
你遇上一个人,你爱他多一点,那么,你始终会失去他。然后,你遇上另一个,他爱你多一点,那么你早晚会离开他。直到有一天,你遇到一个人,你们彼此相爱。终于明白,所有的寻觅,也有一个过程。从前在天崖,而今咫尺。
luzhaolonglzl
论坛元老
论坛元老
  • 粉丝410
  • 关注414
  • 发帖数5308
  • 铜币21397枚
  • 贡献值366点
  • 好评度550
  • 来自
  • 最后登录2020-04-01
  • 听课之星
  • 正式学员
  • 社区居民
  • 忠实会员
  • 发帖能手
  • 社区明星
  • 幽默大师
  • 最爱沙发
  • 师恩难忘
  • 金点子
  • 20天大作战[2015]
  • 20天大作战
5楼#
发布于:2015-10-30 18:35
wykwmzbj:可以加群,但在战队贴回复就加入了,军令状具体上面有回到原帖
哦,那我马上去。
你遇上一个人,你爱他多一点,那么,你始终会失去他。然后,你遇上另一个,他爱你多一点,那么你早晚会离开他。直到有一天,你遇到一个人,你们彼此相爱。终于明白,所有的寻觅,也有一个过程。从前在天崖,而今咫尺。
wykwmzbj
论坛元老
论坛元老
  • 粉丝313
  • 关注268
  • 发帖数6762
  • 铜币17832枚
  • 贡献值1044点
  • 好评度1417
  • 来自山东省 淄博市 张店区
  • 最后登录2020-06-27
  • 最爱沙发
  • 师恩难忘
  • 社区明星
  • 发帖天才
  • 幽默大师
  • 发帖能手
  • 20天大作战[2015]
6楼#
发布于:2015-10-30 18:35
luzhaolonglzl:可我真的没有加入啊。回到原帖
现在加我们的吧
wykwmzbj
论坛元老
论坛元老
  • 粉丝313
  • 关注268
  • 发帖数6762
  • 铜币17832枚
  • 贡献值1044点
  • 好评度1417
  • 来自山东省 淄博市 张店区
  • 最后登录2020-06-27
  • 最爱沙发
  • 师恩难忘
  • 社区明星
  • 发帖天才
  • 幽默大师
  • 发帖能手
  • 20天大作战[2015]
7楼#
发布于:2015-10-30 18:34
luzhaolonglzl:是要QQ吧。回到原帖
可以加群,但在战队贴回复就加入了,军令状具体上面有
luzhaolonglzl
论坛元老
论坛元老
  • 粉丝410
  • 关注414
  • 发帖数5308
  • 铜币21397枚
  • 贡献值366点
  • 好评度550
  • 来自
  • 最后登录2020-04-01
  • 听课之星
  • 正式学员
  • 社区居民
  • 忠实会员
  • 发帖能手
  • 社区明星
  • 幽默大师
  • 最爱沙发
  • 师恩难忘
  • 金点子
  • 20天大作战[2015]
  • 20天大作战
8楼#
发布于:2015-10-30 18:34
wykwmzbj:这是步骤回到原帖
可我真的没有加入啊。
你遇上一个人,你爱他多一点,那么,你始终会失去他。然后,你遇上另一个,他爱你多一点,那么你早晚会离开他。直到有一天,你遇到一个人,你们彼此相爱。终于明白,所有的寻觅,也有一个过程。从前在天崖,而今咫尺。
wykwmzbj
论坛元老
论坛元老
  • 粉丝313
  • 关注268
  • 发帖数6762
  • 铜币17832枚
  • 贡献值1044点
  • 好评度1417
  • 来自山东省 淄博市 张店区
  • 最后登录2020-06-27
  • 最爱沙发
  • 师恩难忘
  • 社区明星
  • 发帖天才
  • 幽默大师
  • 发帖能手
  • 20天大作战[2015]
9楼#
发布于:2015-10-30 18:33
luzhaolonglzl:不知道。回到原帖
队员们,大家好,我是队长小达,秋季大作战开始了,你们需要做什么?我们来看看: 先去战队发军令状,再去战队发执行贴,格式格式上面都有http://bbs.jd100.com/read.php?tid=742492&fid=409&page=1,最后到http://bbs.jd100.com/read.php?tid=743270这按要求发一遍
上一页
游客

返回顶部