漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中" R- c9 \0 F1 K1 `* s
" T9 H& k; U* D1 C. q7 U. Y2 N7 ~( P- h; Z& e; @
-
( w' |4 A/ O/ u2 L% E3 z3 L l* V& z$ I( k
% c/ r0 t3 H ]1 L" }. [. o漏洞版本:百度空间9 \6 l: L% F9 W! ~& ~
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
B! V- M6 q" Y7 O
# S+ }5 A3 p: v( ^. f1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
y- b* V5 q6 s& t% d2 z# G1 X2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
2 R9 s4 ]! j+ H( ]: I0 N) f, P+ o1 |0 R
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>+ S) G% f Y& A, z9 m
其中BdUtil.insertWBR为
* t( Z A; d' Q: l6 afunction(text, step) {
. E' `7 T* ^5 s5 k+ | var textarea = textAreaCache || getContainer();; k* q8 P: D9 U$ B& t! v3 C& W. \5 W
if (!textarea) {# ?, d9 E/ M, q
return text;- y/ s- A. Q- V0 T. `+ s; l1 Y4 ?3 C: e
}7 g3 `% o9 p3 l' e3 C5 Y+ `7 x, n
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
3 v* M/ U& @; z0 ~ var string = textarea.value;$ [2 [2 u0 V/ p1 E% ?# T
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
5 f& K$ v/ I* x- n, l 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;");
, e* ?3 M% `. ]3 A return result;
* r/ p, \7 G1 Y}1 y/ j8 ]. Y U5 C2 m4 J
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
: d% V; j% }; Jhttp://80vul.com/sobb/sobb-04.txt
! {1 X) z8 A6 ^. U*>
& M) t3 c0 @2 q$ t* A测试方法 Sebug.net dis
9 N: u4 O' h [& P5 G( U本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
/ u$ q# O9 s9 a4 S/ B1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
1 f" w4 i& q+ W: D0 T# W0 L, d, N+ Y' S, ~7 ]% w# n% e
|