漏洞概要
关注数(24)
关注此漏洞
漏洞标题:[腾讯实例教程] 那些年我们一起学XSS - 18. XSS过滤器绕过 [猥琐绕过]
相关厂商:腾讯
提交时间:2012-12-29 22:15
修复时间:2013-02-12 22:16
公开时间:2013-02-12 22:16
漏洞类型:xss跨站脚本攻击
危害等级:低
自评Rank:2
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2012-12-29: 细节已通知厂商并且等待厂商处理中
2012-12-31: 厂商已经确认,细节仅向厂商公开
2013-01-10: 细节向核心白帽子及相关领域专家公开
2013-01-20: 细节向普通白帽子公开
2013-01-30: 细节向实习白帽子公开
2013-02-12: 细节向公众公开
简要描述:
有些时候,通用的绕过技巧并不可行,这个时候我们就得观察缺陷点的周围环境,想想其它办法咯。“猥琐绕过”与通用绕过不同的是,它通用性小,往往只是特例。
详细说明:
1. 直接看实例点:
2. 可以看出,这是一个DOM XSS的点。
3. 我们看看源码。
不难看出,siDomain与g_StyleID都是地址栏里获取过来,然后通过document.write输出到页面中。
4. 利用先前教程的知识,我们不难构造出利用代码。
可以看到,IE下成功弹出。
5. 但是到了chrome下,又被拦截了。。
6. 这个时候怎么办呢? 因为这里接受地址栏的参数时,是以 "=" 分割,因而我们的代码中是不允许携带 等号的。故上一篇的技巧不能拿到这里来使用了!
7. chrome拦截,是有一定的拦截规则的,只有它觉得是恶意代码的才会去拦截。这个时候,就需要我们“观察地形”啦!!
我们仔细看看这句。
8. 不难看出,这里会对g_StyleID进行一次替换,将v6/替换为空。那么如果我们的g_StyleID写为下面的情况
经过替换后,就会变成。
但是chrome并不会把<scrv6/ipt>alert(document.cookie)</script> 当作恶意的,是不是就可以绕过了?
我们试试。
果然可以~
这样一来,我们这个XSS,就不会被浏览器的XSS过滤器所蹂躏啦!
漏洞证明:
修复方案:
漏洞回应
厂商回应:
危害等级:低
漏洞Rank:5
确认时间:2012-12-31 09:58
厂商回复:
非常感谢您的报告。这个问题我们已经确认,正在与业务部门进行沟通制定解决方案。如有任何新的进展我们将会及时同步。
最新状态:
暂无
漏洞评价:
评论
-
2012-12-29 22:18 |
TituX ( 路人 | Rank:19 漏洞数:3 | <script></script>)
-
2012-12-29 22:27 |
dyun ( 普通白帽子 | Rank:102 漏洞数:15 | [code][/code])
-
2012-12-30 08:39 |
鬼魅羊羔 ( 普通白帽子 | Rank:299 漏洞数:42 | (#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵...)
-
2012-12-30 09:27 |
px1624 ( 普通白帽子 | Rank:1036 漏洞数:175 | px1624)
-
2012-12-30 16:47 |
帅气凌云 ( 普通白帽子 | Rank:314 漏洞数:60 | 弱点扫描{Www.VulScan.CN} 为网站健康检查...)
-
2012-12-30 16:50 |
猥琐 ( 路人 | Rank:6 漏洞数:2 | 学习什么的最重要!)
-
2012-12-30 16:50 |
txcbg ( 普通白帽子 | Rank:391 漏洞数:53 | 说点什么呢?)
-
2012-12-30 21:23 |
小黑要低调 ( 实习白帽子 | Rank:47 漏洞数:4 | 小黑一枚)
-
2013-01-30 19:04 |
猫头鹰 ( 路人 | Rank:29 漏洞数:6 | 不解释)
-
2013-02-08 22:30 |
txcbg ( 普通白帽子 | Rank:391 漏洞数:53 | 说点什么呢?)
-
2013-02-20 22:41 |
saber ( 路人 | Rank:8 漏洞数:2 | 我只是一个人走了太久,久到习惯了一个人。)
-
2015-08-26 16:54 |
Seno ( 路人 | Rank:4 漏洞数:1 | 喝醉野的酒,日最野的狗)