漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中% c# e6 }- Q3 _* F
: g& ] V! J; b5 n% h
9 k: J& ?# C( d( @7 K& h-4 F# v3 j, b& _" a
A- J2 p+ c! B9 B0 i S8 b
/ `5 p; v* d5 C漏洞版本:百度空间
5 A0 y2 f! i- e" m漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
6 Q' ?" B; y* x2 a' `
z1 H5 X& b& t% ?8 L1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.* @/ F9 U/ `6 w/ J6 g" I9 A
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
7 `! ^& a5 f) R* U! \( ]
: R* g- t# |! z% Z" _) M6 ^9 b将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
7 V; B/ k- C9 q: }" J; t其中BdUtil.insertWBR为) q, x, s. V. n3 `( J
function(text, step) {
$ W" U9 R: h+ u3 h var textarea = textAreaCache || getContainer();) ]; X: W* f1 b
if (!textarea) { v g C# x& ^( B7 Q1 }' l
return text;6 h& z* ~' C( { j0 N1 \* B: T n
}
; l/ K" P' X; V" D9 p* \ textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
) l% d0 x6 `4 q3 x Z- N, d var string = textarea.value;
! l* s' h7 G9 r var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");* M3 m) F- D9 E# @( W' Y0 o) X' s
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;");
: _1 q7 J( I8 I( Z3 f, j N return result;- Z+ @; n5 q* u2 ], J% K
}% r4 u9 ]2 X, h) P5 o1 [
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考7 G9 [% |, [# ]" k8 ?: P0 h2 z
http://80vul.com/sobb/sobb-04.txt1 s/ Q' X' l5 B- Y2 I
*>
2 c2 z4 m4 }/ f3 w7 U9 R测试方法 Sebug.net dis
/ z0 E! _: f0 o5 d/ _4 `% I本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
9 z2 i& ?6 f) M9 X1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁" l( e( D3 G7 l3 U$ Z* W0 K9 k
/ ?, e8 j8 u' P, J0 `5 F X' |7 { |