漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
% N7 g8 }9 y! M4 u( ]1 x
; }2 i1 u3 S. J/ F( F0 e3 C3 Z/ E$ V$ g4 M9 L Q
-
$ ]- s4 V0 b; y) L9 {+ y# D; P# _" q+ Z7 `
) d' I$ y- k! y4 P; s
漏洞版本:百度空间
& v& F5 W# i* O漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.6 Q% }1 _& F! a! l
/ d& J0 _( q9 k$ u/ ^: b) u1 x. e1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.9 b, ~" F4 y# _( X! S: n! K
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
4 r. }. R" d* W6 u3 w
$ p8 O8 u; @. \! `: W, c将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
/ C( K2 E3 W5 I6 R; e5 ]% ?5 I/ t其中BdUtil.insertWBR为" q! S! C9 N) b6 P( l- C
function(text, step) {. l* G# k' C& L# n: |8 U6 M
var textarea = textAreaCache || getContainer();) D- s8 a; Q, e7 }8 S
if (!textarea) {
2 u8 R9 O" D% g! j- |7 Q return text;
+ M/ ~# R# F' a, N! |8 V. a }2 \% e7 c, g4 }5 D5 H: _
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
! r+ m& O9 |9 ^. q/ p9 h( f var string = textarea.value;# t5 ]* \& k! H9 Z1 N7 p" i' \
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi"); X# O7 L/ a5 Q) ]
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;");
0 S x: a& n: ]; J' ^ return result;, ]$ r, B8 S/ J* h, }( V# @
}
+ l& A1 ^- M0 i在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考+ v- L; O0 k& L& g7 Q: I
http://80vul.com/sobb/sobb-04.txt
3 [3 Z7 i& L" J+ ]5 i0 |*>! h ?; I* q# s- R
测试方法 Sebug.net dis! A+ }5 L; e0 ~) B! Y9 V$ B* p
本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
* F V& y# p1 j. M( v( C% p$ f+ H9 Q1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁% C9 W; r- s# j! t/ }
) H! a( w/ i% u9 g! p% X% s" \, B
|