百度的JS数据流注入型跨站

来源:0x37 Security

今天看到的百度贴吧XSS有属于这种类型的,不过仅在FF下有效,原因是在GBK字符集及其子集(或更高级的双字节字符集)编码环境下构造类似于包含%c1’这样的双字节字符串时,提交给服务端,返回。在这整个处理过程的任何一环节,FF都会单独处理这两个字节(%c1与’),而服务端却认为这是一个完整的双字节字符,这导致了单引号这样的特殊字符可以侥幸在FF下残留下来。IE不行,那是因为它也认为这两个字节构成了一个双字节字符。

貌似说的有点乱。

将恶意构造的数据作为参数注入到服务端返回的JS数据流中,百度似乎很容易忽略这的过滤。比如这个:https://passport.baidu.com/?login&u=./?”</script><script>alert(document.cookie)//打开后,服务端返回的js代码为:

<script>
var url=”./?\”</script><script>alert(document.cookie)//
url=url.replace(/^\.\//gi,”
http://passport.baidu.com/“);
location.href=url;
</script>

还没修补。
【相关文章】:

http://hi.baidu.com/monyer/blog/item/1e53d3004f373c14738b6548.html
http://hi.baidu.com/80sec/blog/item/09adb11a5bd60f1c8718bf2a.html
http://hi.baidu.com/ycosxhack/blog/item/7bfdc8194ee2657edbb4bdc8.html

相关日志

发表评论