漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中8 f6 z( a( t3 n% E
7 p6 c3 S1 W; I2 ?! W4 k0 X
/ f$ N* n( C! _1 B: ~, L, i& N
-
6 D8 y) t) C& _: B: {9 d1 {4 I1 ]! t; [2 b5 Z% a
0 K2 t, v" {" j, Q漏洞版本:百度空间
2 Y+ N/ u7 [/ s1 A1 v漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.% @8 O; F( x/ O; m+ D7 T8 v% j
/ I9 @7 \( x+ \! v \+ x1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
: \$ z! C, z- |* g2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
- f4 \ i# N8 P8 s/ [: @, ]0 V
3 q& m4 d2 T0 ^将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>8 P" y' o, l, \) b5 A: v2 B, t2 _+ C
其中BdUtil.insertWBR为
G8 ~9 h8 ^: Q% Y/ A9 B9 h- pfunction(text, step) {8 ^7 B% c, ?5 [1 m+ p: S p
var textarea = textAreaCache || getContainer();
3 R5 j' r# b* |4 e+ J6 | if (!textarea) {
; h, H5 N M/ L2 C& d return text;
3 ^ {# _0 l" f. R( G }
4 I0 g" ~3 A! K8 \, [" ] textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
! E+ M% y; }0 J0 e! G var string = textarea.value;' Z/ Y) T* W4 l7 ^, [9 ^9 G
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");- C; `+ Z# \. o1 ?1 z, h' d
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 g9 S8 B+ L2 I) Q return result;
3 q$ H( y! Y9 N}
+ ~ p5 w. e7 o C$ G' J& {在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
+ P- Y7 i" E. g( [; T& ?7 ^http://80vul.com/sobb/sobb-04.txt
5 {- i1 \8 W9 C- d3 c" F" a*>7 w; Z' O }8 K% I. n& s, D
测试方法 Sebug.net dis1 `, K% f$ {/ X1 }
本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
) z' }/ d4 o* z8 N/ S: s1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁* G9 u, _1 W$ F- V+ @6 p! ~
9 W* Q. s z( R; {' g, U7 q |