漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
! M! S0 K( j6 _* M3 b# B
9 M( f: F# D+ _1 z- l' ]
6 d9 {+ Z) s8 ^ Y1 h' v v-, P6 [) N! R# t* v
3 `- I, ~& ?- [0 n1 p2 |1 r+ N
}+ s! X8 ]4 C漏洞版本:百度空间* e) y5 C# S" C5 k/ m$ n
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.- j3 [* `# J! o' A5 r0 E' z% Z
' k, d% J0 m. j$ `& ?7 B
1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存." p' R- d0 O% L! q3 G6 a# c
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中" y0 Q0 ~6 ]7 j: s- S; ]) N
2 v U$ U8 w* g- n, h3 o
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>$ |+ Q8 H8 M4 }8 ^) F- E; [/ Y6 I
其中BdUtil.insertWBR为" ?8 D3 z# m' b1 p2 D: l- H
function(text, step) {$ l8 y2 A5 @* N
var textarea = textAreaCache || getContainer();
. o- m" w) j/ F5 E' L- U if (!textarea) {
0 b8 J% h# D/ R( I# w8 r return text;
# a9 D$ j( k$ {; z* ^! N4 N3 j }
* f0 b) \3 I% k( E. c4 z textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");' j7 s. c9 R7 d1 i R t6 O, J
var string = textarea.value;. l5 F9 T1 I& P. b7 t' k
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");3 A1 y$ Q `) J
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;");
3 U1 b) I" Y( }7 V) j4 x return result;1 ?2 Y" \6 k8 I, [$ c4 f# _' I* K5 y
}' U( W1 j; q Y& l
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考& L0 Y! [4 V7 S* }1 t0 {2 @
http://80vul.com/sobb/sobb-04.txt
( M+ p# t a t) k*>1 Q) k: V) e0 d& z. E
测试方法Sebug.net dis
) q7 b# V- ^7 Y9 s3 ~3 ~1 X9 Q本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
( U$ P8 e1 z- N- |( ?# O1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
2 [. c$ O1 f0 S/ `8 t
( q) ?1 W+ L* ^0 O4 R) \2 e |