漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中2 l2 C- M e/ X5 d
& Q- V W9 _" `, _$ \
( M- n. U, E0 I8 o( h' Y-
. Y' F3 p/ @" l
% Y( N4 m1 k. G3 K( H, { ; _: `& ?+ ~/ }- Z& o( n9 s
漏洞版本:百度空间
4 c: w: r3 |* l |3 a4 X1 ?漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS., p' K! [9 W: b1 D4 C: ]
" ? P K! ^+ c+ ]4 S1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
! @- R; i2 v1 L* U3 X( K2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
. g* X7 }7 _7 J* A4 e
4 _! _1 ?( E, n2 ^/ X1 I: @将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>- ~% m% f) X" c3 m$ q! q" u6 h
其中BdUtil.insertWBR为
" r; g$ y! e7 N/ k8 Qfunction(text, step) {
8 b4 r" e- c, h$ Q- w& b u5 I. k var textarea = textAreaCache || getContainer();- @& \' } @; ?* u
if (!textarea) {6 g6 g. J; P% q4 S: V7 d
return text;0 t" a- q" ]9 t
}
) Q) a; h# _8 G' o, i$ w5 v a textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");; J: p. B% U: [% N, m, `& M
var string = textarea.value;; G) | [6 n8 U% W7 I
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");: B1 d) g; M! O/ I8 U! i
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;");1 p# P. p0 Y3 |8 h: r ~( Q
return result;) r9 L$ i. b) D: P+ r0 P
}
0 o6 G/ q! Z4 u* o Z在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
+ G9 h" B9 |. @/ \* S. ahttp://80vul.com/sobb/sobb-04.txt
% Z. o9 [" e+ a) h1 ?) l! H* u*>6 |7 k" `' a9 x" x7 D- I
测试方法 Sebug.net dis7 z8 |; T" O, @! U; p' `
本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!* e, ~8 \, W+ ]+ V1 R3 @1 X5 ?) w
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
$ j, _ r+ o" V4 G2 q
6 s& [. w. W# U5 c |