小议百度贴吧标题XSS漏洞 [修正]
来源:80sex
先参考http://www.80sec.com/charset-xss.html啊 :)
这个漏洞在不同浏览器上表现的出来效果各不同,在GBKXX编码下FF会识别这种非法字符把它当半个宽字节和一个单引号!
但是IE不会,IE会认为这就是一个双字节字符。
所以我们发个贴,标题是类似的 [0xc1]’);alert(1)//,可能产生问题。现在在百度帖吧里输出的JS里已经构造不了BUG,百度已经判断宽字节非法字符情况,stripslashes处理了次,去掉了转义字符“\”。如下:
function ResetReplyTitle(no, title) {
if(no == null||no == “”){
if(title == null || title == ”)
title_src = ‘xx?);alert(1)//’
这里的?是[0xc1]’ !!
问题这样解决拉却又忽略了另外一个地方,就是回帖的事件输出处:
<a href=”#sub” class=t onclick=”ResetReplyTitle(‘1′,’xx羂’);alert(1);// ‘);”>回复此发言</a>
羂是[0xc1]\,到这里却变成[0xc1]\ + ‘ 了!!
只能那个说,百度的程序员对于这个漏洞的处理过于马虎了,补了东墙,没补西墙。
PS:观望这次百度修改该漏洞的后续,因为我知道你们还会补出问题来 :)
哦~点回复给你个茄子:)