漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
+ B: `; l! s9 C
4 c/ U3 g7 [, t% N3 e; K% r8 g3 L7 t8 c, _
-
4 B8 Y: r' K! D. i) v
+ }; f( N# M( c# ^( U- O! e
9 T: r7 C* P8 W; ~! I( k漏洞版本:百度空间) D( H* W% W1 y5 p, R3 F$ ^( \
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.# P2 O' D T2 X" [- b& E
5 ^: M+ j; n3 R! _% K0 T1 q1 D2 r1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
# Y3 r" l# ^0 c; B0 w: m S" P2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
0 i" V# a. i( O, K& Q% _8 B
! a1 L5 P" b9 u2 C将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
% M1 J% R2 }: N( T其中BdUtil.insertWBR为/ d+ `( U7 N5 ~7 b
function(text, step) {/ y) P% t4 H P% Q6 H" h+ x, E. b
var textarea = textAreaCache || getContainer();
( Q# U( C6 C- y& D' Z+ Z' Z if (!textarea) {; Y* F- F2 f- e8 q& l" g8 ~
return text;
: l( s2 [+ Q0 V( V( e- d1 @ } o$ x0 V( F, y; v( Z! i/ f' c
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");: [; ]: F+ w, r9 ]
var string = textarea.value;
) r6 p1 @' ^4 V. y2 ~ D* K var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
, o/ o6 R6 n$ v0 Y0 [ 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 q6 @3 f7 C1 w/ C5 j! t return result;
8 e6 g+ ?# {! {( ?* k+ P4 H7 _/ ?}
0 j! L0 L x1 ?0 i+ M' |在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
7 V4 V2 S: N# Phttp://80vul.com/sobb/sobb-04.txt
$ h+ I# C6 ]) j4 ~" o*>. K* J" Y( K' |" p9 L' H
测试方法 Sebug.net dis
0 U+ k7 j5 r- @+ X9 o本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
2 g2 ^2 m, b4 f/ G3 ]- R( |1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁2 z4 V2 K! ~% m: D" Z- G
5 i* {1 @, V! e; U
|