漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
# n6 q& c6 v. E5 R( Z. `
7 o* h& \2 C& G0 \& } r/ l# F' J' T1 f. O6 W) j
-
" P) p7 l. f$ ?3 N& ]
1 f' |4 n I$ k! X* h7 f) d3 i X; t8 t, A: y# d, h
漏洞版本:百度空间9 d$ V8 @/ _- H/ C
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.* |) R! X! [4 d5 J
( f+ o/ s8 o6 v- P I, y1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
& b) O/ e0 g! c2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
3 y0 o7 a/ v/ W) j5 F# a4 ?8 P# K( w6 ^& H( U& @- j2 B
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>7 X( t- F, ^% S& ]: H
其中BdUtil.insertWBR为/ I% ]$ m9 Y* ^5 [9 v6 [
function(text, step) {
7 l' {0 V' i o o* K, ?) \ var textarea = textAreaCache || getContainer();6 i# @* ^* { Z2 V7 u5 X* @( Z. }
if (!textarea) {
& K' M6 T3 C: W1 Y6 l return text;) `& e. Q5 J. T: j( H" a" B; V7 d
}7 o+ b2 w+ ? @/ U8 ^: X+ `
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");/ h3 }" L) Z) v9 w9 m
var string = textarea.value;
' B- n2 h( f- G3 g var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");# {: z7 {, l& [- j9 c$ n
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;");
j, k; P5 F0 X9 `% R return result;* J% U' C j1 }8 Z* f n; m9 o/ d
}
l5 n1 ?2 K* a/ N# L) f ~7 W在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
3 B/ _2 }5 N( Ehttp://80vul.com/sobb/sobb-04.txt
) e3 y+ y) c9 A; _& J*>
4 Q2 [- u7 ^& Y" z测试方法 Sebug.net dis
+ L) M- u: J+ R本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!. |7 j4 }: f( r% U$ v J2 y
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
3 C# d* l2 J0 s1 J9 \, x% o- v8 ^" L* X) j8 l8 Z
|