百度空间hi.baidu pet Dom-Xss Bug

2010-05-13T00:00:00
ID SSV:19621
Type seebug
Reporter Root
Modified 2010-05-13T00:00:00

Description

百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.

1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中

将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p> 其中BdUtil.insertWBR为 function(text, step) { var textarea = textAreaCache || getContainer(); if (!textarea) { return text; } textarea.innerHTML = text.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;"); var string = textarea.value; var step = step || 5, reg = new RegExp("(\S{" + step + "})", "gi"); var result = string.replace(/(<[^>]+>)/gi, "$1<wbr/>").replace(/(>|^)([^<]+)(<|$)/gi, function (a, b, c, d) {if (c.length < step) {return a;}return b + c.replace(reg, "$1<wbr/>") + d;}).replace(/&([^;])(<wbr\/?>)([^;]);/g, "&$1$3;"); return result; } 在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.

百度空间 等待官方补丁

                                        
                                            
                                                宠物留言管理处输入:&lt;img src=# onerror=alert(/sobb04/)&gt;