漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
1 g4 C' X$ T9 B0 |4 h! K' Z+ Z5 ~9 ?
- x8 N% U( q+ u5 |# m
/ Z$ O' l1 d4 M5 E+ P1 Z-
# V" X, m8 l2 z% W5 T" c; H1 I r; I [9 k, w! Q0 k+ T A' G
8 E [/ G3 I1 R# X漏洞版本:百度空间4 R1 T% ]5 ~4 Y3 M. i- E& }; j2 Y
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
! ^ b6 ~4 N$ T3 V1 I" r$ T. C0 W) |9 I
1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.9 k( u# a& {9 S4 k1 H
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
1 r9 t/ ]) s' |2 ^6 ^ `6 h, p+ Q N7 b
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>5 r" f8 `) T) \9 W
其中BdUtil.insertWBR为) ~3 w9 r: e! F3 n) z; ?& h E
function(text, step) {# a: I( E2 q8 p: c
var textarea = textAreaCache || getContainer();
1 W7 y/ g- V7 h* E' Z8 o- M: m if (!textarea) {5 d* Y; t( t& j9 [5 t
return text;
1 f2 o# Q! R( _: p2 E2 Y/ a6 a: G9 i: q }
" v/ C) {9 F5 w4 y: Y! l5 I9 B6 p; j textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
* k0 ?& w6 Z! H" o var string = textarea.value;. j- D2 m9 p) V% V
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
' I0 ?7 S4 ], L/ k" ? o 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;");
& t+ M4 @& I9 e( X return result;. }- \& q: ^$ O# e3 [8 t( k1 Q
}
- \/ b2 X0 D: ^# G) ^: l7 u! D在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考4 i2 F6 Y, I1 X g: a( a
http://80vul.com/sobb/sobb-04.txt6 ~4 S @6 J! p- ~. m& q o+ N
*>
/ Z ~5 D2 L" h5 ?4 \; o% D测试方法 Sebug.net dis
7 b1 J `9 J0 Y) `本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!) P) ^: ?1 I( \' z, ?! V3 i! l
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
( I1 l$ z' Z. O5 P! _4 i, f/ I7 v$ X* d
: R, m5 ~: n1 j5 b6 o$ _, @ |