字符集导致的浏览器跨站脚本攻击
|=———————————————————————————————–=||=—————–=[ 字符集导致的浏览器跨站脚本攻击 ]=—————– –=|
前言:这种利用类型的攻击早在06年就被安全研究人员指出,不过一直没有在国内重视。而由于我们国内大部分站点正是这种有漏洞的字符集,所以影响还是比较大,希望各大站快速修复。可以看看[url]http://applesoup.googlepages.com/[/url]。
文中<已经被替换为〈,如果需要文档,请访问[url]http://www.80sec.com/release/charset-xss.txt[/url]cC*m*VK&F(h XS[
K MM QN}-~$i5e0?y
在一般的web程序里,显示数据给浏览器的时候都会指定一个字符集,在国内平时我们用到的字符集有utf-8,GBK,gb2312等等,字符集指示了浏 览器该如何对待返回的数据。其中gb2312和GBK字符集使用得非常广泛,但是经证明,IE在处理这些宽字符集的时候存在问题,导致可能程序的一些安全 规则被Bypass掉,引发严重的跨站脚本安全漏洞。在IE里,如果它遇到一个字符,它是指定字符集里的第一位的时候,就会认为其后续字符和当前字符构成 一个合法的字符,这样它在解析包括html标签,处理javascript,Css时都会做如此考虑,测试版本为ie6和ie7。
:M2n[cT.C
1 Bypass某些js的检查规则
〈HTML>5`/x6g o!g`
〈HEAD>
〈TITLE>80sec test〈/TITLE>
〈meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
〈/HEAD>
〈BODY>3~C@\O n+R
〈script>
window.onerror=function(){
alert('Vul');