漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
, {; F, Z2 c! b0 ~' a; n4 f4 B! s' }, L; H: T
" Y0 X8 ~% N) G2 s: \- Y
-
% B W0 o1 }2 h+ r H
) t" p$ P+ r: Y( f# }4 F9 l
$ n. a0 L' {5 e' w% ]2 u漏洞版本:百度空间
6 I4 U6 r+ f( J5 H3 r# v漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
- K' g% s% |5 ], A7 A" F6 e" l& j; }6 l* p/ G% _' u& M# p N2 v
1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
) ^# _$ K! m; ?2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
, s7 S0 E2 Y& u. m4 K. c+ ?7 G h0 v1 B$ Y2 Q& U [( T' e: ?8 }
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>5 [4 p# K2 e& k7 F# q- a0 p
其中BdUtil.insertWBR为- B% y# \2 p) {1 e+ }- [
function(text, step) {' B' t7 c7 C2 l" t# D7 ~, [
var textarea = textAreaCache || getContainer();& `! o+ U [0 S; J" y% J
if (!textarea) {
! [9 _" \0 L- p! V# |. | return text;! F; I7 ~3 B8 s% W
}
" S7 F$ s# k# @( S& z4 X textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
1 G/ d8 s% S( p) e# y var string = textarea.value;$ n" X' j5 f a" L3 a$ r7 x
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");4 H1 J% g" R# m" ?: a& W
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;");
0 k. F7 g F5 ~, v2 u return result;5 j- s% h: i, @0 w& N% q. |
}
/ J& a6 A2 f1 e在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考' _9 N. p. F' n- h7 m6 {
http://80vul.com/sobb/sobb-04.txt& s! a7 U2 H$ E! E" r! C
*>* B$ L( L% Y/ \- q r
测试方法 Sebug.net dis
/ L$ j4 O2 P# @本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!( a) ^% B R: Y q0 O
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
) N% c7 ]* L. {( Q0 N$ P, F* w e( C& `9 C3 I
|