漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
- W8 ~: f3 o9 N2 @- O' z
0 p) l/ S4 L) P& e
# K; R2 O ?& ?) |( y, R-
" @2 |/ j# I, C5 X7 O* N, j& f. v- ~6 O% ~& B
: S/ S8 v4 t' O. p* l1 q漏洞版本:百度空间+ f9 _ U1 P P; D7 `
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS., g8 c6 V2 Y1 Z f/ k; t; {3 j
4 ^* X% S" V% V3 n; V5 A
1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.* y5 A* E2 ]6 p5 m( y! Y7 W
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中8 B6 _% P6 I% y) G4 k6 O
: N: ^% x. t2 b% f$ u" s1 p- b
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
. D& n( ?' m0 v7 I- U8 b1 I其中BdUtil.insertWBR为
7 Z& {$ v; d6 g. I! | l4 Hfunction(text, step) {/ z* R% Y5 q, D
var textarea = textAreaCache || getContainer();; [ g) O! V& _' ~
if (!textarea) {
7 w* [9 v' v4 Z( B1 b1 o return text;
6 b& Q, F4 S: V& ] }
- F W! s, }$ w- e3 B textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
2 w3 I6 D4 L# Z( e" R" u. f var string = textarea.value;1 j7 ]2 L' n/ r" f$ R! [- S; v% U
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
+ R1 n3 [- U3 c# R. B 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;");
" p$ U" v$ E4 M3 |2 V% }3 C* Y return result;4 ~' U7 t5 H8 `
}
+ j* Q+ \+ W! p0 U: k8 x在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考' ]0 E# L2 t" a5 ?+ h
http://80vul.com/sobb/sobb-04.txt6 V* V! W3 ]! V& z+ U" M- `
*>6 W% n# ?. k9 B5 d
测试方法 Sebug.net dis6 R0 g1 w# O, e$ E. p9 Q) J P
本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
; O) d8 p, @4 m+ J0 S1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
. L1 ]" \4 @5 ^7 Y; Z5 P4 {3 T, ~
$ x9 N6 ?0 N9 q, v |