漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中/ |9 t- F5 C; ^/ C& h
( o) q) z- ^; u$ {" h+ Q" W
6 k. P! P0 i* N+ K& j# H) D: u-, S( t/ c( r8 F. P+ U/ K8 `
; D1 W* M* c3 J1 p& Q
- ^( ^- Y6 X8 Y3 B/ {8 e4 L, m漏洞版本:百度空间1 O/ `& ~8 _' O( L* B3 d
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.! k% k( u9 i6 r7 I% H
9 ~9 F5 p- x+ k7 a' Q) B
1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.) T' s/ b2 z5 C6 z i
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中: K3 N# ^. s3 i( ?4 |
6 |' R4 f3 s+ g# S! j& O. t o将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>4 i3 W6 A6 t/ c; ]! u2 P
其中BdUtil.insertWBR为# m: O9 }; O# V T+ c2 ^
function(text, step) {, f% l% ^. C$ {9 f
var textarea = textAreaCache || getContainer();* f, ~6 J8 u- _: G
if (!textarea) {
6 U7 s: |- z" Q4 M: I/ `2 O return text;
/ X% n- |# A' p8 W2 V5 i0 X }
4 }# G! |( k' x textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
8 X4 ?5 a! V" }9 b! O var string = textarea.value;
3 L4 T8 U5 [% W7 |0 A' R var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
9 |* P3 V$ i1 A# c 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;");
9 i6 v* {, f2 c. A3 s: j @ return result;9 e5 o+ A. k7 L0 q6 |! }2 l
}" p. K( H/ R1 [) ~) F5 B
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
! ]! r: b6 \! e$ a$ z4 |http://80vul.com/sobb/sobb-04.txt
, |. X. M. Y2 U0 ]1 f*>
+ n& z& P7 ^* Q7 e测试方法 Sebug.net dis
9 {6 q$ ?0 {+ R( P, ?, w本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
; Y" I" T, Y4 ?) Q Y: F0 q1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁6 O( n6 [9 l0 |( L8 B/ D/ D, ]
- K6 y% ^% w2 H- _ |