漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
7 E; k3 U* U( Q9 M9 i' k* F0 @$ L( t8 F
3 g+ B- ~3 ~' r. m$ S-- c3 M+ A( N1 K( k* t* M
7 L1 s U V6 t( v; p' E
! s1 S% O4 \4 k4 R* [+ f漏洞版本:百度空间
- |9 `% [) T0 P: y漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.# Y0 L Z. s7 g
2 C; O$ P. j4 t9 u8 x
1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
' a* A" d1 {2 E* E* d2.在http://hi.baidu.com/ui/scripts/pet/pet.js中: s3 t+ B5 W% `) T) v9 U
' V( j2 j, \! n- |$ p将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
3 _; \+ X. C8 Q9 O5 f" I其中BdUtil.insertWBR为
$ Z: M. t# l# Z# U6 X. @1 Tfunction(text, step) {2 ?3 P2 n& |7 P* T e
var textarea = textAreaCache || getContainer();
I9 @5 F& J( Y* D% | if (!textarea) {, s5 `' ^% |0 Y- _2 n
return text;, T) H: H( s0 ~) _# l3 s, H3 p
}. H$ {! i3 d9 r( |0 Q8 E0 J
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");$ D: c, p* t+ V X7 A" A
var string = textarea.value;
6 w: a- S, n5 o7 B# ?! | var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");' V1 w+ k \6 L8 I* t
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;");
4 N( T X1 _+ W: }/ m: \ return result;6 } ?- L/ k9 L0 C3 V/ F
}& p- f! R, k6 t( F1 o
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
0 S! y# T5 U: w4 Q* ihttp://80vul.com/sobb/sobb-04.txt5 v1 S( L+ ?2 e1 {3 P8 t# o
*>" m3 Z( s- q, _0 W0 h9 R9 H
测试方法 Sebug.net dis
; C( ^; I& f$ m* w本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!% r7 _0 Q; A9 u6 g5 L
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁: H! Y" v! A9 |) @# `$ z0 {8 s, H4 T
, G3 _1 }/ C) q2 t, c$ Q
|