Mirosoft Internet Explorer 8 XSS过滤器绕过漏洞

2008-09-10T00:00:00
ID SSV:3993
Type seebug
Reporter Root
Modified 2008-09-10T00:00:00

Description

CNCAN ID:CNCAN-2008090505

Mirosoft Internet Explorer 8是一款微软公司开发的新版本的WEB浏览器,包含针对跨站脚本进行过滤

的Xss filter。 Mirosoft Internet Explorer 8处理特殊编码存在问题,远程攻击者可以利用漏洞绕过脚本过滤机制,使

恶意脚本代码在目标用户浏览器上执行。 由于IE8 Xss Filter在过滤时采取的编码是系统内置编码,在中文版本里将是gb2312,在其他一些远东版

本中也会采用相应的宽字节编码。提交一个非法的编码序列如%c1<将被IE8作为一个正常的远东字符来进

行Filter的关键字匹配,而在页面显示时,由于页面自己会指定一个编码譬如UTF-8等,在解析的时候%

c1<并不是一个有效的UTF8编码,这样就会被当作两个字符,从而导致了<绕过检查,这种不一致性导致了

漏洞的产生。

Mirosoft Internet Explorer 8 目前没有解决方案提供: <a href=http://www.Mirosoft.com target=_blank>http://www.Mirosoft.com</a>

                                        
                                            
                                                假设存在如下web脚本:
&lt;?php
header(&quot;Content-Type: text/html; charset=utf-8&quot;);
echo $_GET[c];
?&gt;
在远东版本系统的IE8里,如果常规的进行XSS如:
.php?c=&lt;script&gt;alert()&lt;/script&gt;
将被IE8安全策略阻止,但是如果提交
.php?c=%c1&lt;script&gt;alert()&lt;/script&gt;
代码