Clo*_*boy 16 javascript xss internet-explorer
来自hi.baidu.com/monyer/blog/item/d0f5d8b48fc442758bd4b2a4.html
Char 192是
<font face="xyz[0xC0]">not </font><font face=" onmouseover=alert(192) s=[0xC0]" >available</font>
0xC0是UTF-8中2字节序列(0xC0-0xDF)的32个第一个字节之一.因此,当IE解析上面的代码时,它会将0xC0和以下引用视为一个序列,因此这两对FONT元素将成为一个具有
"xyz[0xC0]">not </font><font face="
FACE参数的值.第二个0xC0将启动另一个2字节序列作为未引用的NOTEXIST参数的值.由于引号后跟一个空格字符,0xE0-0xEF是3字节序列的第一个字节,连同下面的引号和一个空格字符将被视为NOTEXIST参数的值.
实质上,某些字节表示UTF-8字符串中3字节字符的开头.如果这些字节进入网页,即使得到的三个字节不构成有效的UTF-8字符,IE也会占用接下来的两个字节.这可能会导致IE占用HTML属性中的结尾引号,从而造成XSS风格的破坏.
这篇文章是关于IE6的,所以我有两个紧密耦合的问题:
如果我正确理解了此漏洞,则会在2006年的Microsoft安全公告MS06-021中解决.
Internet Explorer对特制的UTF-8编码HTML进行解码的方式中存在一个远程执行代码漏洞.攻击者可以通过构建特制网页来利用此漏洞,如果用户访问特制网站,该网页可能允许远程执行代码.