漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
# Q5 U6 i' x/ u: u1 v) r. f1 z" y$ j1 S; {+ T
8 X; d* w7 f9 D) e1 _* ~
-
$ _- Z: m& n) p6 F; ~: ~. w7 x- Z7 I" g. p
+ R+ ~& w1 q# P7 I5 S& C4 t/ O
漏洞版本:百度空间
# \$ h. Z4 O7 X* Q漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.$ ]2 e/ \9 ^& u, `
4 ?4 o) E( U- J3 ^& [( p' ]; Q1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
2 ]/ _; w$ m- b# Y& N. B2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
, o* C- {% G4 y( V5 T
0 e3 ?' \& W$ C, j* S将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>1 u! G, v( ?4 |$ {( ^7 J# x2 }
其中BdUtil.insertWBR为
' X* x- r' A/ |# jfunction(text, step) {! X4 Y# u: D% Q3 w5 X
var textarea = textAreaCache || getContainer();
$ E0 c5 d* o g( B3 o3 h8 e% \6 V if (!textarea) {
- u; u0 N( D- ] @. M& \! I% m- D& b m return text;
& S# @- c# c: ~+ i# l7 P$ z' H$ Y }9 O3 b8 k: Q8 M* A; b
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");. d* Y! Z6 K6 I7 q
var string = textarea.value;! g" S& {9 Z$ l/ n4 x
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");0 o- B1 B O; |* W/ T2 }! 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;");
: V6 h/ `) n' v! k- h V) [ return result;
8 `) l7 w6 V0 ^- k5 w. `" ^ a/ a}
" a& L! X9 o; u; h在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
9 P7 H9 Y3 ?; ?* x7 L! dhttp://80vul.com/sobb/sobb-04.txt
% R8 D+ a7 N/ r% Q, w( H3 H9 C*>
# s! U0 q% b( g/ m$ v8 |7 Y5 K测试方法 Sebug.net dis
" U3 J8 b2 [7 h; }本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
2 ^6 ]. L7 y; l, i( ]7 a8 D" m, f1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
( p O' J5 X3 h) g. E, ^0 U9 N2 ^! [! i
|