漏洞概要 关注数(35) 关注此漏洞

缺陷编号: WooYun-2012-16678

漏洞标题: [腾讯实例教程] 那些年我们一起学XSS - 18. XSS过滤器绕过 [猥琐绕过]

相关厂商: 腾讯

漏洞作者: 心伤的瘦子

提交时间: 2012-12-29 22:15

公开时间: 2013-02-12 22:16

漏洞类型: xss跨站脚本攻击

危害等级: 低

自评Rank: 2

漏洞状态: 厂商已经确认

Tags标签: xss利用技巧 Dom+xss

5人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-12-29: 细节已通知厂商并且等待厂商处理中
2012-12-31: 厂商已经确认,细节仅向厂商公开
2013-01-10: 细节向核心白帽子及相关领域专家公开
2013-01-20: 细节向普通白帽子公开
2013-01-30: 细节向实习白帽子公开
2013-02-12: 细节向公众公开

简要描述:

有些时候,通用的绕过技巧并不可行,这个时候我们就得观察缺陷点的周围环境,想想其它办法咯。“猥琐绕过”与通用绕过不同的是,它通用性小,往往只是特例。

详细说明:

1. 直接看实例点:



http://qzs.qq.com/qzone/v6/custom/custom_module_proxy.html#siDomain=1&g_StyleID=aaaaaaaaaa





2. 可以看出,这是一个DOM XSS的点。



picture\4_95.jpg





3. 我们看看源码。



....
var siDomain = paras['siDomain'],
g_StyleID = paras['g_StyleID'].replace("v6/","");
if(siDomain.indexOf(".qq.com")>-1){//防止qzs.qq.com
siDomain = paras['siDomain'] = "qzonestyle.gtimg.cn";
}
document.write('<link href="http://'+siDomain+'/qzone_v6/gb/skin/'+g_StyleID+'.css" rel="stylesheet" /><link href="http://'+siDomain+'/qzone_v6/home_normal.css" rel="stylesheet" />');
...





不难看出,siDomain与g_StyleID都是地址栏里获取过来,然后通过document.write输出到页面中。



4. 利用先前教程的知识,我们不难构造出利用代码。



http://qzs.qq.com/qzone/v6/custom/custom_module_proxy.html#siDomain=1&g_StyleID="><script>alert(document.cookie)</script>





可以看到,IE下成功弹出。



picture\7_96.jpg





5. 但是到了chrome下,又被拦截了。。



picture\10_97.jpg





6. 这个时候怎么办呢? 因为这里接受地址栏的参数时,是以 "=" 分割,因而我们的代码中是不允许携带 等号的。故上一篇的技巧不能拿到这里来使用了!



7. chrome拦截,是有一定的拦截规则的,只有它觉得是恶意代码的才会去拦截。这个时候,就需要我们“观察地形”啦!!



我们仔细看看这句。



g_StyleID = paras['g_StyleID'].replace("v6/","");





8. 不难看出,这里会对g_StyleID进行一次替换,将v6/替换为空。那么如果我们的g_StyleID写为下面的情况



<scrv6/ipt>alert(document.cookie)</script>





经过替换后,就会变成。



<script>alert(document.cookie)</script>





但是chrome并不会把<scrv6/ipt>alert(document.cookie)</script> 当作恶意的,是不是就可以绕过了?



我们试试。



http://qzs.qq.com/qzone/v6/custom/custom_module_proxy.html#siDomain=1&g_StyleID="><scv6/ript>alert(document.cookie)</script>





果然可以~



picture\13_98.jpg





这样一来,我们这个XSS,就不会被浏览器的XSS过滤器所蹂躏啦!

漏洞证明:

见详细说明

修复方案:

进入document.write前,先过滤下

版权声明:转载请注明来源 心伤的瘦子@乌云


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:5

确认时间:2012-12-31 09:58

厂商回复:

非常感谢您的报告。这个问题我们已经确认,正在与业务部门进行沟通制定解决方案。如有任何新的进展我们将会及时同步。

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):
登陆后才能进行评分

评论

  1. 2012-12-29 22:18 | TituX ( 实习白帽子 | Rank:19 漏洞数:3 | <script></script>)
    0

    高价出售沙发

  2. 2012-12-29 22:27 | dyun ( 实习白帽子 | Rank:75 漏洞数:12 )
    0

    占座~~

  3. 2012-12-30 08:39 | 鬼魅羊羔 ( 普通白帽子 | Rank:164 漏洞数:25 | 不许动!我是警察!)
    0

    o(╯□╰)o

  4. 2012-12-30 09:27 | px1624 ( 普通白帽子 | Rank:438 漏洞数:57 | 电脑业余爱好者,菜鸟一个,是来交流学习的...)
    0

    擦,沙发又没了

  5. 2012-12-30 16:47 | 帅气凌云 ( 普通白帽子 | Rank:263 漏洞数:43 | 求礼物,求服装,求鞋子,求出名,求兼职.....)
    0

    前排围观~~

  6. 2012-12-30 16:50 | 猥琐 ( 实习白帽子 | Rank:6 漏洞数:2 | 学习什么的最重要!)
    0

    感谢MTV CCAV 荣幸登上了标题

  7. 2012-12-30 16:50 | txcbg ( 普通白帽子 | Rank:294 漏洞数:39 | 说点什么呢?)
    0

    前排占座。

  8. 2012-12-30 21:23 | 小黑要低调 ( 实习白帽子 | Rank:47 漏洞数:4 | 小黑一枚)
    0

    @猥琐 @心伤的瘦子 你们在搞基么亲。。。

  9. 2013-01-30 19:04 | 猫头鹰 ( 实习白帽子 | Rank:27 漏洞数:5 | 不解释)
    0

    占座

  10. 2013-02-08 22:30 | txcbg ( 普通白帽子 | Rank:294 漏洞数:39 | 说点什么呢?)
    0

    这个方法很巧妙啊,赞一个。

  11. 2013-02-20 22:41 | saber ( 实习白帽子 | Rank:8 漏洞数:1 | My love,my hope,all goes by~)
    0

    看起来蛮好的样子。。不过普遍性没那么高。。