漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
( a6 K0 U& A% s9 o! p1 Z+ ^) x+ X2 ]( q9 {
& ]; v# U' W$ ], S-8 M- ^3 ]6 M4 Q' I, u5 b+ \
1 G3 k4 G, i2 W* w \6 D z + w6 Z7 Z9 e% m3 C
漏洞版本:百度空间+ Y3 g3 q- g; ^: g: _4 g
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.3 h: X# b; l( x& ` \
: N4 n( E# f3 C# e3 o; D* t E1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
" y. _" B/ ?; p. Z2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
6 S' s" g3 [' I& g
! X" y9 d) `3 u3 g! A4 }4 `( o将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>: J* X/ w$ W9 I& y! i
其中BdUtil.insertWBR为. [. t' A( h c! q! l$ ]. s5 Z
function(text, step) {: |7 T C% H! [7 P( N, B
var textarea = textAreaCache || getContainer();6 L( `& e5 K! L% \! A" }
if (!textarea) {$ @: _. J+ e0 `% ^' j" W) J
return text;
9 @. \6 e% X1 T3 C }2 O$ q1 j4 X6 y" m. w6 ], M: |1 p
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");6 E+ O) i5 ?, a+ \( _/ b: ~1 g: e
var string = textarea.value;
4 h3 j, h e9 b1 Q6 P* ^9 o. T var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
( {; O- t7 S2 C! t/ M j6 r. Q 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;");+ B' c, B% a1 W
return result;. Z' L! Y* Y1 j. i
} s* l4 ^; z! O$ f8 C4 ^
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
4 _1 v. W' B8 j% b) dhttp://80vul.com/sobb/sobb-04.txt- f4 y3 w3 e) G3 E6 I+ ^ _% R
*>
" m' d: G( y: u7 @5 l* a测试方法 Sebug.net dis
- X" b% p; F- R" i9 X本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
' [: L0 o, n, B" w% F1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
. a& e: U E$ q& b' P' S
, g# r! _4 w E& M f |