漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中. t- i- f }) k& ]
+ B1 V- \: t0 k2 ^
0 z; ~4 O6 R' l6 h9 O-
- f6 F; q! P) X- i( _ |8 {. \# [& k2 y, B, b
. }$ X0 t" q. z* K6 d
漏洞版本:百度空间" k. _4 F: y! b0 e; }5 J
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.1 Z! }1 l% {0 @) s) M$ {: U0 V
' E3 E3 | j$ [% }" p7 H; ^ G1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
0 l, | B# B% |1 E$ q2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
" x( i* \" H' q5 \* r
& H, f3 @& u1 F将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>1 S7 P. P' u% c6 w# r7 B/ P
其中BdUtil.insertWBR为
1 ]) V- m! ~- q4 @function(text, step) {7 m/ j8 p, o1 E c3 t) L/ [% p
var textarea = textAreaCache || getContainer();* i/ u* j* G. @
if (!textarea) {
/ R. j/ v! V( {& y return text;+ u8 U$ F7 M. F
}
2 {. L' ~" b( q. }; L( Y1 g textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");9 H& |% ^3 V2 Z) _
var string = textarea.value;* z0 O4 t1 ^! @! O6 i2 P
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
+ _% Q* M+ U* s7 f M0 o" ]) e- ] 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;");
( v8 X1 N7 S! _$ S- ~ q return result;
9 q$ ?: ~ I/ t* U}' J C- R0 m' G% D* x, q$ V
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考* T( B s& U" ^$ f
http://80vul.com/sobb/sobb-04.txt1 P: F J; B$ G: K
*>5 @/ v! u8 f4 Q' K4 |0 E
测试方法 Sebug.net dis
) ^9 B) Z% P, m! _% p" {本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!4 Q& J: l/ ?; G
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁: \8 V7 |* d, v7 g0 }( Y7 m
, R, f/ f _ o+ z
|