IE8 XSS Filter Bypass

漏洞说明:IE8是微软新推出的一款浏览器,其对CSS2.1的完整支持,HTML5的支持,内置开发工具等等。IE8在浏览器安全性上有非常大的改进,内置了一款无法卸载的Xss Filter,对非持久型跨站脚本攻击做了比较好的防护。但是80sec在测试IE8时发现,IE8的Xss Filter存在漏洞,导致在一些东方国家的版本里根本不能阻止URL Xss,譬如在中文版本里,利用一些简单的数据就可以Bypass掉IE8的Filter策略。

漏洞站点:http://www.microsoft.com/

漏洞分析:由于IE8 Xss Filter在过滤时采取的编码是系统内置编码,在中文版本里将是gb2312,在其他一些东方国家里也会采用相应的宽字节编码。提交一个非法的编码序列如%c1<将被IE8作为一个正常的东方字符来进行Filter的关键字匹配,而在页面显示时,由于页面自己会指定一个编码譬如UTF-8等,在解析的时候%c1<并不是一个有效的UTF8编码,这样就会被当作两个字符,从而导致了<绕过检查,这种不一致性导致了漏洞的产生。

漏洞证明:假设存在如下web脚本:

<?php
header("Content-Type: text/html; charset=utf-8");
echo $_GET[c];
?>

在东方国家系统的IE8里,如果常规的进行XSS如:

.php?c=<script>alert()</script>

将被IE8安全策略阻止,但是如果提交

.php?c=%c1<script>alert()</script>

代码可以绕过ie8的xss filter并且执行。

漏洞状态:通知了厂商,等待回应。
本站内容均为原创,转载请务必保留署名与链接!
IE8 XSS Filter Bypass:http://www.80sec.com/ie8-xssfilter-bypass.html

本文固定链接: http://www.daopo.org/2008/09/05/ie8-xss-filter-bypass/ | 天晴轩

该日志由 天晴 于2008年09月05日发表在 Articles 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: IE8 XSS Filter Bypass | 天晴轩
关键字: ,

IE8 XSS Filter Bypass:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter