漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
$ p' Y2 d& [+ ~$ y# z
: F$ _, \ a; P9 j! H, k- U9 |7 m7 ~: ~! O& w$ z' w$ Z
-! G: s1 t& `4 I$ |8 K
/ H1 N2 {7 U" x( x p# s& W6 t
, P3 V6 x+ M/ X" y3 w' O
漏洞版本:百度空间
( g) ?# e$ I ]) p漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.3 G7 ^1 r7 o# W2 m. Y; J* k
) N$ C+ }+ {, j+ [ Z. m
1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.3 f! @- c2 q' u8 S2 W7 ~3 E) l0 ?# K
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
( h* c- S6 u+ A+ A
3 J$ }2 w( e6 i) y6 d s6 ~4 a1 R将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
. m9 m5 o/ Z( s2 o/ T* ?2 R" P其中BdUtil.insertWBR为
6 w4 f) L7 |! K& B* ^ jfunction(text, step) {
. d/ U) m4 S9 h: R var textarea = textAreaCache || getContainer();* b) `7 T+ r) ^2 A% h
if (!textarea) {
! s9 O E& y2 q" t+ W return text;$ j9 L' l* `, w) o- h
}1 Y2 E J4 p! \" Q4 S% f+ r
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
4 }2 L/ N( G/ v+ C% H+ R' Y var string = textarea.value;( A% g# V" F1 a7 d6 Y
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
. N1 N8 z' \5 I) t& J$ u6 U 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;");
% _) f1 i+ ]; U$ G. M$ I6 R return result;2 a3 [) k6 ?0 I: K3 ~5 c6 e% a8 p
}' z* g) s4 r2 h! [8 [( y3 D
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考$ y& i7 R7 |: F' `
http://80vul.com/sobb/sobb-04.txt
$ o; A3 _7 E0 q4 b: h0 W' `*>! {$ U. @& J7 n4 ?0 u E$ J
测试方法 Sebug.net dis6 m7 ]& X$ m# o
本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!+ M" r7 @: }3 J8 i/ Q1 ~0 `
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
4 ]- `* g2 }6 l' {, e
# F( ]/ r6 `( O% C" t ^ |