漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
0 V7 F5 q0 Y1 D- `4 z2 s* {
/ F0 u7 D: }; a+ ?2 w+ S; q! D, R# |5 A, v$ k' p; z
-
- w. f; ^6 F$ B) q a0 t8 S* o1 [- \( W2 s2 h
- @7 s' j3 R7 R6 p% e8 V/ c
漏洞版本:百度空间 P$ ^( f% w! A
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.6 |: V& X' x6 Y
) o7 {$ ?$ n& X8 ^" j" U1 z" A1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存./ O8 X- a( [4 Y# m3 ?& V' k
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
5 K, I/ g0 ?/ b( d) g
3 R5 n5 l4 P8 |) S5 F" o5 j将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>0 k4 ^2 _; i6 z5 V5 f
其中BdUtil.insertWBR为5 ^6 p" z$ |" K# A8 q4 U3 Y
function(text, step) {& R* ^7 V* R, O' q2 C
var textarea = textAreaCache || getContainer();
% q3 W4 D/ Y/ X0 ]7 C% K5 Y+ U2 o if (!textarea) {, ]0 S' q; x) k% V
return text;3 d; Q6 i1 W/ C
}' U4 i5 `6 }- P7 m
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
6 E- ^0 Q! U( o4 }6 F+ O0 J5 c7 w6 N var string = textarea.value;9 j/ M3 W! g* i' F7 p7 I
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
! v: ~2 P, }3 H. q0 z. l. h5 R5 Y0 y 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;");
5 V+ V8 l9 e( @' X7 j% K" m return result;
: h: [5 {* A$ r6 F! S+ B5 ]# R) M" x' C}6 Z; \9 F0 d; E3 L) R _/ \
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
% Y! Z% V% \; b; |! I. Q0 Hhttp://80vul.com/sobb/sobb-04.txt% N, n: J v; I+ p6 B- r
*> r3 M5 F- `* H; }% m
测试方法 Sebug.net dis
0 B4 j7 F8 P3 [5 O本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
4 u2 Y; B7 i! \! F1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
8 Q4 Q! ?3 o! g5 `* [8 h, r. _1 E
& h! |# l- Q3 L, u- D6 u5 p |