漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中! W a1 |( y3 z* l+ a
9 e2 n- Q9 z* h7 c! ^& p8 M" P
" L# o1 u: [2 J$ h
-
9 r. g: G I- Q) d9 R, ]
& N; ^, z7 b' [2 P
2 N- c8 d. J8 W$ C9 t7 g漏洞版本:百度空间
, Q! p6 F) C$ T& O: s漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.8 \$ @0 L# {+ O+ ~2 }. t' s
, L5 b1 U: @. x( K1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.1 q( K& @+ [; H. G8 y" w9 e& f
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中3 p1 j3 c4 {& _8 H4 `! E
- S) B+ U5 w7 @4 o( z4 T7 k0 h
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
- _% ?' k/ l d7 d$ e/ N ~8 k; D其中BdUtil.insertWBR为, A) i# C a. u& Y7 ^
function(text, step) {
/ s) V2 p( B5 S8 @: O8 w4 s var textarea = textAreaCache || getContainer();
0 z( l% k, q. U4 T$ n" g if (!textarea) {$ E; B4 V# s+ s/ H( F
return text;1 l' V7 V1 O+ t% o1 k1 s
}
/ w- X: a6 g# Y& f- t0 ^- ? textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
0 X; P; o) S1 V' S3 u' i* Y var string = textarea.value;7 _% S9 m5 ?- B0 s v. H1 _
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
7 A. Q$ w" K- S: i1 b7 E4 b/ W 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;");
' z5 k: k, k1 w8 f return result; {5 i1 K% O6 i# V% [5 V5 G) s! C
}
4 y/ e) Q6 A3 C, C3 `; m( _在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
- a h Z/ I3 v5 H( dhttp://80vul.com/sobb/sobb-04.txt
" Y2 g8 y, I& ~# }, U7 q" R*>1 G) Y% }6 a' _- \. ~
测试方法 Sebug.net dis
2 v- B0 E3 w; M! o3 Y* g本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!6 w& e5 n5 u% v/ l
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁: O) Z. c0 A1 r( Q
& o' `" ?, M3 b |