漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中/ _9 V6 G o9 Z- R
; d5 W3 ^* G u8 S0 {" N ?2 m& C* V
-
8 d! \: a _7 P3 q
( |# H4 ]7 ^9 i. w. y- r
; i' I T# p1 C2 `/ r漏洞版本:百度空间7 U5 \9 E$ R8 W3 k
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
0 h" [* t% D+ c5 C; B# W
5 ~3 I* B" k% u3 k% a1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.7 e# B6 V/ W' @3 M$ T) a
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
" O! t5 y# C" T) M! l4 Y( `' c9 G1 L$ o
6 Q1 \* h n& p, f7 v% U将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
9 K# {6 W% d, E8 R* \2 @- \9 i其中BdUtil.insertWBR为( Y$ g4 T S1 C1 j4 y
function(text, step) {6 Y: Y- W. g5 b" Z; e9 O& L9 e' a* A% B
var textarea = textAreaCache || getContainer();" p8 C9 ^3 S5 E9 k, V, |$ O+ S
if (!textarea) {
% ?( M3 Q) t [& X return text;* N+ k. d2 }+ M/ S2 m
}( n: F, }* e7 T
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");+ m7 w9 B/ u% a$ l7 e
var string = textarea.value;
$ @. L3 F M, ?7 O, D! { var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");: p: M+ c! C# K3 `2 ]+ z
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;");
2 M. \* b1 B+ S5 ?2 H return result;' m1 i( T- c& B$ P# @, h& k
}
. w+ [7 k: t2 J& L! c7 ?4 n9 c' @在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考) x. Z3 e2 ?* O. ~
http://80vul.com/sobb/sobb-04.txt3 W$ J. V0 _5 d* Q6 D9 U4 v
*>0 y+ {+ a! z( s. c: I4 I
测试方法 Sebug.net dis( R$ h. V! x! M( M3 q1 V" }4 t! P0 Q
本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
$ |; Y, W- W$ `9 s/ t# a4 f& C1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
. w6 }" |5 C. i! s6 }
0 j m- b% F" [* W* ^+ U |