漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中$ d! R% j! V! M+ @; w5 n) a
5 ~ x0 M3 A) w! h
% b+ g. |# K0 k3 y, {& K6 m: o& }/ n
-
, i+ W9 f9 j+ B
3 C5 ]# n: B" Y% Q# {
# L6 S1 b; h8 g' v7 d& t* J漏洞版本:百度空间
" v1 A5 r$ ]* M* Y漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.: P3 I" e* K: u4 e& F+ Q: [
9 v: _7 r: f& J5 M0 |/ G- N1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.$ ~& C7 L8 O7 |/ _ G5 |: t1 G
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
! V& ~/ Z6 x2 S* V* N ^3 U8 W3 A: t9 G
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
7 \6 M! R7 B8 `# e# y, c* ^其中BdUtil.insertWBR为5 n4 x7 j& Y1 G U7 \
function(text, step) {
4 B& |! j% y4 q% o) [1 `4 y" o2 b( _ var textarea = textAreaCache || getContainer();0 U+ v/ A! V5 p8 E
if (!textarea) {
, ~5 V6 a, T: n. l* Z2 m1 h/ | return text;/ B4 m: q% e$ R. n4 X# T
}
8 A; H9 Q6 p1 n. y# r# X textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");) `5 g! ]' a. |' b/ D
var string = textarea.value;
7 g; C3 I9 }# _; _3 j [0 [- I var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
1 |) G) W- @& C. U+ a, Q/ o0 l$ 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;");
# ]/ ]9 D( b7 e r- B1 z6 a- f; A return result;5 o; C; x, k" i; n7 Q$ h$ M
}
- E8 W: T3 A* c/ P在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
$ ^1 |9 V9 l! Q. |/ R" B1 H0 ^6 }http://80vul.com/sobb/sobb-04.txt$ f4 a! n/ s( W" m
*>
, v8 e* q& P4 {. L6 ]2 Q测试方法 Sebug.net dis
0 [9 D5 i! D( W2 S; f% B. m( R本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! i0 i4 o4 V* D8 }
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
; K. y, t) q q' l9 L1 Y" }
0 O$ I% a& s" C9 E( a2 T, o: S |