漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
# b; N% `; N0 H- h
- O+ W8 |" l' V0 {* s# `
* Y- @0 ~4 }! q7 h-
* W0 F( i: s* y# ?4 L2 e# {# h8 G, [# x( s. r7 d
% z/ x- P) p3 I0 [6 G漏洞版本:百度空间
- c y2 C o1 B$ ~, m+ m漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.: }. T5 M6 K, _' [
0 k) w' B: m2 S
1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
, F; ~* `" G9 v5 u9 u( A& P5 A" K2.在http://hi.baidu.com/ui/scripts/pet/pet.js中! Q: b9 S7 q( P9 v9 p
9 Q6 \2 y8 N$ D c N' g$ e3 @
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>8 Q# n) A& M* \* b& a
其中BdUtil.insertWBR为. ]* t2 h6 W$ [8 H0 p
function(text, step) {
% m$ Q( W' `& ]6 {" A- O0 ^$ Q9 \ var textarea = textAreaCache || getContainer();/ L( ~+ }" b) V' X: t$ k# u
if (!textarea) {8 F) a! @7 H7 p/ H# n" w
return text;, ?. E% E) @/ p) z- J9 W! j+ G
}
7 N1 a4 [! t3 R textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">"); J1 u- O4 V9 b
var string = textarea.value;4 G! y' M; T9 P3 S+ M9 Y
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");, {4 F8 p5 K0 n W: }$ q4 A
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;");
# ]6 \! x: q' Q2 G9 x- H( a return result;
# R5 w' j2 U7 p; g- M0 u}0 `& c3 j' [0 \2 _0 R" g2 b7 T
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考5 T4 F, Y' C' @7 D. }" S
http://80vul.com/sobb/sobb-04.txt
6 H+ |! O- T+ {" J. A% F*>
. m8 d" v+ ~" v! y1 h2 Q测试方法 Sebug.net dis
8 j, S" V( _6 @7 M7 c本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!/ J! A/ n+ \" L5 [; s
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
9 T: J0 s% |6 h- V) _2 r' \7 I2 Q& }6 a
|