漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
" u% D* u$ ^' y5 A- Q* i* T' U* x4 Q8 c- b, ]$ {/ J: v
" X* J; s2 u/ t; _-) z+ C/ |( W, Z
, U) l' Y% V7 i2 r$ n: e9 W( x 4 [# H7 L% S! f5 b/ W6 J, _
漏洞版本:百度空间
a- Q1 |; b( v9 |2 N; X0 z漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
7 N$ W+ }( ?' \0 f8 k
& q) D, b8 j$ l8 l; v$ ]( A4 L1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.2 Y" q+ @) l0 P/ ~# h$ t6 C% C: ]
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
1 P8 Q! P; F! d2 r5 s- `8 O- A) x# \! n2 Y# |( b
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>& U. ]& x& H5 n6 x
其中BdUtil.insertWBR为
% P# P( @$ M) Afunction(text, step) {
% u2 b2 H# q: i! R0 v8 M var textarea = textAreaCache || getContainer();
+ Z9 Q7 r7 `6 G8 N, z# @ if (!textarea) {0 A, t1 @, v% G- J* p8 \
return text;; V& m) g, d6 M7 [5 ?& q9 ^
}6 Y3 V+ p$ G8 J( B
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
+ J7 [' d& d' I2 @2 C3 U% l var string = textarea.value;" o, |$ F: B) [
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
% e0 E6 n" j; L/ r% C9 t/ W* P 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;");
' Q. ~; m" M+ _* i return result;
4 q6 U* V6 H, _5 G# u}
; {/ V" q; X! X% s* C在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
3 Z6 N# d4 q2 |7 C7 J% dhttp://80vul.com/sobb/sobb-04.txt
- v8 w# {2 X5 X$ O& V8 S- I*>
4 q# T: y& m+ _0 D测试方法 Sebug.net dis( j' R$ h; w C9 o4 L4 G2 c& Y! M" F
本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! v. t& m5 Z. i' J
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁' D' k3 G2 k; T3 [3 c8 @; d
% X+ `9 d% m6 L& }) b* e
|