IE8 xss filter bypass (xss过滤器绕过)

简要描述:

IE 8 XSS 过滤器绕过。感谢@Sogili牛为本绕过通用性实现上提供的tricks。

详细说明:

1. 在IE8中,可以通过 <xml> <?import> + <t:set ..> 的方式来构成一个XSS vector。

在测试过程中发现, <?import> 同样可写为 <import>。

也就是说。下面的代码都可以运行JS代码。

2. 利用这个技巧,我发现可以成功绕过IE 8 的 xss filter

测试例子如下:

如果用<?import..>,则会触发过滤器。

3. 当然,上面这个代码,只适用于 <HTML标签>{输出在这里}</HTML标签> 的情况。

我们经常会遇到类似 <input type=”text” value=”{输出在这里}”> 的情况。

这样一来,我们需要在代码前面加上 “> 来闭合HTML属性。

但是问题来啦, “> 会触发XSS过滤器,过滤掉我们代码中的敏感词。

@jackmasa (https://twitter.com/jackmasa),也就是我们乌云的 @Sogili 牛,给了一个绕过的tricks, “x> 就不会触发XSS过滤器了, x代表任意字母。 非常感谢。

这样一来,我们上面的代码可以进一步通用化。

4. 至于具体怎么利用,恩,大家自己看着办。

编辑点评:虽然这只是IE8的xss,但是读者可以通过思路延伸,研究下如何绕IE9或者其他浏览器,毕竟用IE8的人还是很多的。更多的饶过xss限制的方法可以参考《跨站测试与利用中的绕过技术》文章。

本文作者:gainover 原文连接:http://wooyun.org/bugs/wooyun-2010-013883

责任编辑:梧桐雨

本文由网络安全攻防研究室(www.91ri.org)信息安全小组收集整理,转载请注明出处!