漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
\) k9 N( {$ i9 i! A1 S% K5 Z( G# w7 F$ X. S4 b
# W ~7 o, k/ y9 g6 y: t& x$ B; X
-
- ^6 o& H2 f3 x* G3 }, D- l# M2 l
- H# L2 c) K8 M! U' Q5 S/ z% e
漏洞版本:百度空间4 j4 k3 _0 F0 ?
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
, a' c! y1 m, I$ G9 B8 f6 J7 ?/ T) w1 j
1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
2 O! Q# ~% R4 r5 b9 {2 t* `! \2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
; v* U5 r' S5 G' @! e9 g4 ^ t
9 {7 O& X; \+ O& @将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
- P* ]9 J8 F; w; s8 \& b, H. N4 _其中BdUtil.insertWBR为! ]' b7 l- E7 n" v
function(text, step) {& d+ J# ~) i: H* L( s
var textarea = textAreaCache || getContainer();
6 q8 h3 M. V/ V6 H8 K if (!textarea) {
! S6 u/ R( e. E# K4 \1 { return text;" A' }" D; z+ i1 l
}" B* S) c1 A, m# _- z: ^: z
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
3 |$ w( C( p0 p7 d var string = textarea.value; T' b4 V6 Q& T" _+ f3 x, u
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
# A9 E. \* t2 k e9 j! v 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 [( D) _6 [' f1 J- { return result;
' P* R8 F: J/ A4 ]2 T. W) K0 M7 @}8 b) k+ ]% P2 }" I+ B( F/ O
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考0 \9 N5 b, u! p4 x' C P) ]* r
http://80vul.com/sobb/sobb-04.txt$ W* Y5 O( D7 Q% |
*>
% ?- K/ k/ _7 W8 ?$ N! X测试方法 Sebug.net dis
! `- z! [. j9 q) X! U' L0 k本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!# G* K" L& N3 F0 p" u- x
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁- z4 C! w- S4 A0 [1 R1 s
% t( ?* a5 A) Z) X ~
|