漏洞概要
关注数(24)
关注此漏洞
漏洞标题:腾讯一处存储型XSS - 有过滤?我绕绕绕!
相关厂商:腾讯
提交时间:2013-07-04 21:40
修复时间:2013-08-18 21:41
公开时间:2013-08-18 21:41
漏洞类型:xss跨站脚本攻击
危害等级:中
自评Rank:10
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2013-07-04: 细节已通知厂商并且等待厂商处理中
2013-07-08: 厂商已经确认,细节仅向厂商公开
2013-07-18: 细节向核心白帽子及相关领域专家公开
2013-07-28: 细节向普通白帽子公开
2013-08-07: 细节向实习白帽子公开
2013-08-18: 细节向公众公开
简要描述:
过滤了<,>? 我绕!
过滤了() ? 我绕!
想用/**/注释下,竟然连*都过滤了... 我绕绕绕!
详细说明:
有问题的地址是:http://qzone-music.qq.com/fcg-bin/fcg_music_fav_getinfo.fcg?dirinfo=1&dirid=201&uin=QQ号码&p=0.887586027616635&inCharset=GB2312&outCharset=utf-32&hostUin=¬ice=0&needNewCode=0&format=jsonp&platform=musicbox&jsonpCallback=jsonCallback
这个地址会输出QQ号码在QQ空间音乐盒中【我喜欢】这个专辑中的音乐内容,包括歌手,歌曲名,歌曲地址等信息。
正常情况下,歌手名字,歌曲名,歌曲地址里的< , >都会被过滤掉,即过滤成为 < >
在这一步,我们对应的绕过方法是:
%bf<script/%bf>
原理是:服务器上会过滤数据中的特殊符号,但是当读取到%bf时,会认为%bf<是一个GBK字符,从而当作一个字符来看待。 即过滤程序会把上面的内容看作是:
[GBK字符]script/[GBK字符]
然后当上面内容输出到页面的时候,内容则会变为
口<script/口> (其中“口”为不被识别的字符)
从而,我们插入了一个<script>
---------------------------------------------------------------
通过以上方法,我们可以写出以下代码
不幸的是,在歌曲标题内插入这段内容后,发现(, ) 都被转义成为 &#xxxx; 的形式了。
alert没法执行了,而且,括号都用不了,代码就执行不了了。
---------------------------------------------------------------
然而,我们是可以控制多个输出点的。 如下,songname, singername, url
也就是说,我们可以采用注释的办法来进入后面的点,如下:
但是这个点中,*都被过滤成 &#xxxx 了。继续测试发现,不仅是括号,星号,连=, + ,%,基本只要是符号,都过滤的差不多了。还好,[,], / 没被过滤。 加上我们意外的惊喜发现,url和songname,singername的过滤规则不同,并没有过滤如此多的符号。所以:
---------------------------------------------------------------
上面这首歌,完成了 <script>[",url:"];alert(1)/* ....
再编辑下一首歌,修改songname,加入</script>以闭合脚本标签。
最后就成功构造了。具体利用过程写在了漏洞证明里。
漏洞证明:
进QQ空间音乐盒中的【我喜欢】目录中,
1. 先修改第一首歌,抓包,修改包
URL:http://qzone-music.qq.com/cgi-bin/v5/cgi_music_modsong_new?g_tk=1232408522
发第一个包, 修改了包里的url和singer参数
2. 再修改第二首歌,抓包,修改包, 地址同1,修改了songtitle参数
3. 最后效果如下:
4. 然后利用iframe来利用即可。
修复方案:
版权声明:转载请注明来源 多多关照@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:15
确认时间:2013-07-08 10:06
厂商回复:
感谢反馈,我们正在处理中。
最新状态:
暂无
漏洞评价:
评论
-
2013-07-04 21:47 |
Sogili ( 普通白帽子 | Rank:129 漏洞数:27 )
-
2013-07-04 22:06 |
多多关照 ( 普通白帽子 | Rank:271 漏洞数:23 | 大牛们,多多关照!)
@Sogili 其实,那个点, = 号也被过滤了,点也被过滤了。
-
2013-07-04 22:10 |
xsser ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)
-
2013-07-04 22:13 |
多多关照 ( 普通白帽子 | Rank:271 漏洞数:23 | 大牛们,多多关照!)
-
2013-07-04 22:18 |
小智 ( 实习白帽子 | Rank:33 漏洞数:5 | 低调低调,学习学习~)
-
2013-07-04 22:46 |
紫梦芊 ( 普通白帽子 | Rank:138 漏洞数:9 | 踏踏实实做测试)
-
2013-07-04 22:59 |
齐迹 ( 核心白帽子 | Rank:784 漏洞数:100 | 一名普通的phper开发者,关注web安全。)
-
2013-07-04 23:52 |
基佬库克 ( 实习白帽子 | Rank:75 漏洞数:15 | 简介什么的是直接爆菊吧..)
-
2013-07-05 05:53 |
银冥币 ( 实习白帽子 | Rank:35 漏洞数:21 | "/upload/avatar/avatar_251_b.jpg" />)
-
2013-07-05 08:39 |
鬼魅羊羔 ( 普通白帽子 | Rank:299 漏洞数:42 | (#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵...)
-
2013-07-05 09:35 |
dyun ( 普通白帽子 | Rank:102 漏洞数:15 | [code][/code])
-
2013-07-05 09:46 |
J′aron ( 路人 | Rank:17 漏洞数:5 | 问题真实存在但是影响不大.)
-
2013-07-05 09:54 |
疯子 ( 普通白帽子 | Rank:242 漏洞数:42 | 世人笑我太疯癫,我笑世人看不穿~)
-
2013-07-05 20:27 |
jdnehc ( 实习白帽子 | Rank:76 漏洞数:12 )
-
2013-07-06 12:34 |
一天到晚吃 ( 实习白帽子 | Rank:58 漏洞数:23 | 好好看,好好学 test12xx)
-
2013-07-08 11:19 |
多多关照 ( 普通白帽子 | Rank:271 漏洞数:23 | 大牛们,多多关照!)
-
2013-07-08 13:49 |
D_r0ck ( 实习白帽子 | Rank:36 漏洞数:3 | 可能是最帅的歌~)
-
2013-07-21 13:56 |
_Evil ( 普通白帽子 | Rank:418 漏洞数:59 | 万事无他,唯手熟尔。农民也会编程,别指望天...)
-
2013-07-28 11:29 |
小胖子 ( 核心白帽子 | Rank:1727 漏洞数:140 | 如果大海能够带走我的矮丑...)
-
2013-07-28 11:31 |
齐迹 ( 核心白帽子 | Rank:784 漏洞数:100 | 一名普通的phper开发者,关注web安全。)
-
2013-07-28 12:46 |
Croxy ( 普通白帽子 | Rank:513 漏洞数:54 | 只会送人头)
-
2013-07-28 18:51 |
鬼魅羊羔 ( 普通白帽子 | Rank:299 漏洞数:42 | (#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵...)
-
2013-07-31 14:51 |
厦门佬 ( 路人 | Rank:22 漏洞数:8 )
-
2013-08-11 14:39 |
px1624 ( 普通白帽子 | Rank:1036 漏洞数:175 | px1624)
@多多关照 我现在才发现最牛逼的过滤是直接把括号给过滤了诶。。。蛋疼,有办法过么。。src=这种肯定也用不了。
-
2013-08-18 22:41 |
78基佬 ( 实习白帽子 | Rank:84 漏洞数:20 | 不会日站的设计师不是好产品经理)
-
2013-08-18 23:36 |
萧然 ( 路人 | Rank:0 漏洞数:2 | 喜欢一切美丽的东西!)
-
2013-08-19 02:35 |
redcar ( 路人 | Rank:0 漏洞数:1 | 找到组织了!)
@多多关照 楼主,请教一个问题好吗?这种绕过办法我在道哥的书里看见过,关键就在于GBK编码。如果不使用这种编码,用utf-8会有这个绕过的XSS问题吗?
-
2013-08-22 16:52 |
feng ( 普通白帽子 | Rank:664 漏洞数:79 | 想刷个6D)
-
2013-11-14 17:30 |
G8dSnow ( 路人 | Rank:21 漏洞数:5 | 一直在学习技术、分享知识的路上)
-
2013-11-14 23:21 |
李旭敏 ( 普通白帽子 | Rank:469 漏洞数:71 | ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎...)
乌云女神推荐···很棒的思路啊,就是没基础,看懂挺费劲