漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
3 I2 w9 v# \3 e+ P6 f9 a
. n+ `5 R. N, ^* s: r" m/ K; z) N
8 w, z5 Z. N% B, ?4 p& m-
e. }3 ]1 v8 x9 ^8 x* ^5 f* y5 `+ e9 Z4 f; _2 G
% v8 r" x3 D; y# X6 u漏洞版本:百度空间2 j9 M1 x9 H$ w* Q
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
3 s; Y. }; v5 r G1 i/ T. ]5 W- }7 z! X, q0 V3 D
1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存./ V- B7 ~: L$ b" o. h( B+ v
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
2 [: r4 E1 {1 j- V! }; _7 T- C; ` T% ~( q
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>! x+ z4 M3 {. K5 }3 [" J# _
其中BdUtil.insertWBR为
( G/ W8 d- S7 X5 c Yfunction(text, step) {
+ U. V4 ^4 n; _1 | var textarea = textAreaCache || getContainer();
9 B3 Z* i' J" J' r) N% l8 e) P if (!textarea) {% ]4 V/ I! {9 w: r3 q7 {
return text;
2 b2 Y8 }" s2 A' ]$ ] }
( v; T/ ^4 F0 P5 l) d; H textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
" o4 R B8 F% n0 f var string = textarea.value;8 [1 W4 V. x7 p3 b" \' {) I
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");( j/ O. l5 M( ~1 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;");8 l5 @) T0 `6 u) v; Z
return result;8 z! ^0 k, d6 v' K+ Z
}
' g, _) l# w- N8 A4 a7 R7 P% J V! Z在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
2 {2 j4 J& S5 f- E1 B0 Xhttp://80vul.com/sobb/sobb-04.txt
$ k6 Y: V; A7 H* Z. v2 ?* c*>
/ R+ o5 f& J) u8 F% f测试方法 Sebug.net dis
0 G& i5 d5 w$ ]: b3 p本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
! g3 X, k( D, e1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
# e0 \% h- }: G J: V0 `7 h3 {" F! j9 l
|