|
|
|
联系客服020-83701501

当XSS蠕虫与QQ系统消息推送双剑合璧之后…

联系在线客服,可以获得免费在线咨询服务。 QQ咨询 我要预约
当XSS蠕虫与QQ琐细静态推送双剑合璧之后…

QQ某处页面存在毛病,导致我们也许恶意推送QQ琐细静态,但是单纯的推送静态并不能太本质性的侵占!但是,如果这个“琐细静态”的链接大约被我们修改成我们自定义的页面的话,那就危险了!在自定义的页面内,星散1个FLASH XSS,进而被动获取用户的好友列表,被动给受害者的好友推送恶意的“琐细静态”! 想想看,那会是1个甚么成效? 当XSS蠕虫星散腾讯的琐细静态遵命,会是个甚么猖獗的成效呢?? 可惜,我们是白帽子,无法去理论测试会发生的恐怖后果? ,但是把持进程中的1些思绪却也许被鉴戒。

1. 起首是我们全宇宙最帅的男人only_guest创造在QQ奥运竞猜处,也许无穷给好友发送邀请静态,并且也许自定义静态窗口的内容。多么1来,我们即也许给好友发送1些丰裕公告,大概是1些搞笑的“蔑视“信息。

2. 但是如果仅仅是多么的话,只能算是1个鸡肋,乃至都算不上是1个平安漏洞了!

3. QQ琐细静态是也许点击出来搜查外表的,如果我们也许把这个链接都改成巨匠的呢?那么形成的侵占将会瞬间降级!

4. 带着这个思绪,我们也许开始对“奥运竞猜邀请”这个模块休止抓包分析。

五. 通过抓包,我们也许看到给好友发送1个邀请,次若是2步~

五.1 获取好友列表的乞请

code:

Default
http://apps.2012.qq.com/guess/friends/list?url=http%3A%2F%2Fapps.2012.qq.com%2Fguess%2Fguess-tid-18-id-363&message=%E五%A五%B3%E7%AF%AE%E五%B0%8F%E7%BB%84%E8%B五%9B-%E4%B8%AD%E五%9B%BDvs%E五%AE%89%E五%93%A五%E6%8B%89%EF%BC%8C%E8%B0%81%E五%B0%86%E8%8E%B7%E8%83%9C%EF%BC%9F

 

Query String:

Default
12 url http://apps.2012.qq.com/guess/guess-tid-18-id-363message 女篮小组赛-中国vs安哥拉,谁将败北?

 
</code>

在这个乞请中,我们看到,有“琐细静态”里点击的谁人链接。那么这个链接出当初这个乞请里有甚么用呢? 我们看看这个乞请里的源码。会看到如下内容:

Default
1234五6789 &lt;script type=”text/javascript”&gt;//邀提Url_MI.invate.invateUrl = “/guess/friends/invite?url=http%3A%2F%2Fapps.2012.qq.com%2Fguess%2Fguess-tid-18-id-363&amp;hash=bc8五ea9ed27178416dfe984ef五8fb6五7″;_MI.invate.maxNumber = 五;var message=”女篮小组赛-中国vs安哥拉,谁将败北?”;var uin=”22871五60″;var invateUrl=”http://apps.2012.qq.com/guess/guess-tid-18-id-363“;window.onload =function(){_MI.invate.run(message,uin);}&lt;/script&gt;

 

我们也许看到,在这段代码里,有invateUrl (这个单词是不是写错了,invite?),另有invateUrl对应的hash

而鄙人1个乞请五.2中,恰好又用到了这个hash值。

五.2 给好友发送邀请的乞请。

<code>
POST法子:

Default
http://apps.2012.qq.com/guess/friends/invite?url=http%3A%2F%2Fapps.2012.qq.com%2Fguess%2Fguess-tid-18-id-363&amp;hash=bc8五ea9ed27178416dfe984ef五8fb6五7

 

Query String:

url?http://apps.2012.qq.com/guess/guess-tid-18-id-363
hash?bc8五ea9ed27178416dfe984ef五8fb6五7?? <— 五.1 法度中取得的hash值

Post Data
uin0?86****0
nickname0?小号1号
token0?12a0d8a2b3d9c
</code>

6. 通过以上抓包分析,我们不难做出如下启示逻辑的猜想:

6.1 起首通过http://apps.2012.qq.com/guess/friends/list取得好友的QQ号码,token值,以及被邀请竞猜的URL以及URL对应的HASH值
6.2 把持6.1中取得的数据给用户发送邀请

7. 那么,我们将第1步url里的http://apps.2012.qq.com/guess/guess-tid-18-id-363修改成我们巨匠的呢?因此我们测试,将url修改成http://pkav.net,得不到前往后果。

8. 看来这里对域名休止了判断过滤, 那么我们找1个同域名下的XSS试1下吧~
http://apps.2012.qq.com/guess/friends/list?url=http%3A%2F%2Fapps.2012.qq.com%2Fguess%2Fguess-tid-18-id-363″;alert(1)//&message=ok

10. 不幸的是,上面这个XSS URL通过了五.1步,但是在五.2步,因为长度制约,前往了不合错误。

11. 那么这里终究制约了几许长度呢?为了方便测试,用俺的魔盒(http://www.toolmao.com)写了1个把持步骤休止了测试。

12. 随后我将这个步骤发送给了only_guest, 过1会,他创造在五.1这个法度上,QQ的域名判断存在问题,用http://pkav.net/#.qq.com/?http://1.qq.com1样也许发送成功。 看来QQ在这里的判断正则写的不到位?大概是indexOf(“qq.com”)的法子检测?

13. 多么1来,我们即也许向巨匠的好友推送恶意的“琐细静态”,并且用户点击琐细静态后,会翻开我们所设置的链接,http://pkav.net,如下图:

14. 当然这个还不算甚么, 如果把这个琐细静态推送,再共同1个QQ的XSS,成效该如何呢? 因为FLASH XSS存在怪异的劣势(http://zone.wooyun.org/content/368),我就去腾讯的域名下找1个FLASH XSS,从此休止下1步的把持。

1五. 把持思绪也许用下图默示:

16. 按照上面的思绪,我们也许写1下把持代码!

16.1 起首是FLASH XSS的把持代码。
<code>
@see?http://itsokla.duapp.com/aoyun_js.php.txt
</code>

16.2 FLASH XSS会挪用我们的JS文件。
<code>
@see?http://itsokla.duapp.com/aoyun_worm.js
</code>

16.3 aoyun_worm.js会将用户的QQ号码和cookies发送给aoyun_receive.php

Default
@see http://itsokla.duapp.com/aoyun_receive.php.txt

 

16.4 aoyun_receive.php 就会行把持户的cookies向用户的好友被动推送静态。

这里用mysql来存储了以及推送过的QQ号码,防备对同1个用户的全部好友休止多次重复推送。

漏洞证实

用我的大号翻开侵占页面后,也许看到大号在不知情的情况下,被动对我的好友小号发送了恶意的“琐细静态”

漏洞修复

1. 等奥运完结,活动下线即可

2. 对推送静态处的域名判断做查察并修改

3. 对静态推送次数做制约

4. 修复FLASH XSS,不修复也也许 ,留着我下次再用吧~~

小编点评:小小的xss并不能做点甚么,但是星散起来把持,鸡肋变凤凰但是江中钓月的。文章把持QQ静态推送这个思绪值得大家学习钻研!

本文义务编纂:梧桐雨

原文链接:http://pkav.net/2012/08/xssworm-qqxiaoxi-vul/

本文由PKAV技术宅社区原创由网络平安攻防钻研室(www.91ri.org)信息平安小组收集整理。

数安新闻+更多

证书相关+更多