漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中) ^4 T% \4 q4 Z1 Z2 E5 g" V6 @
: d6 j1 c( i7 a: \+ K, q7 t$ F: ]1 q5 i q6 L V
-
) C8 ]2 `7 P5 Y8 C
! y/ L% B- e, o7 ~ 6 Q! O: A8 l* U1 B4 i9 f. s
漏洞版本:百度空间% i7 n3 \0 ?% \ {: p/ M
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.6 Y0 D( H# @6 M! _5 i0 ~) c. J
2 l6 ?1 `* X; y1 v v6 G3 {& q1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
' B- X7 r* t7 x2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
2 B" ~. Q: |/ V
4 ^8 V: @8 |- m/ Y( n$ U将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
8 |6 q; {& Z$ g& {其中BdUtil.insertWBR为: T+ T+ D9 v% Z: V x1 N! `
function(text, step) {
* V' t2 T' ^% [( `- X4 K var textarea = textAreaCache || getContainer();) p. m7 o4 `& _5 ?, C
if (!textarea) {6 m0 l& k9 J* F4 u
return text;
& I+ T! k0 C/ Z t3 X4 N9 ^& p }8 g, o+ e$ [6 l. E+ l8 M" T; L$ _& r
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
. U8 K! q% I2 t1 e0 { var string = textarea.value;
/ M2 k/ f T" n2 m/ h( ~ var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");9 j9 E8 |+ Y4 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;");
& |) f, m: A( {" o" C return result; ^9 m" c. y2 |) V
}# W9 N/ W: z6 x4 v/ |, J4 r* t
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考+ N+ E$ z0 {9 a2 ?0 W% Q" K
http://80vul.com/sobb/sobb-04.txt8 V' m8 P5 g: o3 f, I
*>+ J% f2 ~9 g( l/ B9 B2 `7 Q
测试方法 Sebug.net dis
. d# p; o. t# E本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!2 J/ Z- [/ h# ]9 i9 ~* K3 k( Z, D
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
# q, ]$ `4 }2 k% ]' n
) @2 J; _& Z7 I9 p/ R$ H% c4 `1 s |