漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中2 i6 N' x8 Z) A
# |) f( f3 ?7 v+ n
q. H$ ~! d/ R" x-
: F% E: r0 e% |2 @, a+ }2 B( J) ~( }' v& O
4 F5 {( D: B8 e% D漏洞版本:百度空间
) _: [1 J) S* k1 Z* }漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
- O0 }, v# x" P+ a; j, _
9 c3 E( V# g4 w9 u1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
3 H6 Y+ E1 q3 B& Q2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
: r c! u+ t7 t8 p6 J7 f/ E; F/ u' K- |( j
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>- N; q- t8 m) u) I+ R1 V
其中BdUtil.insertWBR为/ H4 W( B! Q1 p/ k3 j
function(text, step) {. z: u8 u- ^3 h% j% z( u; @# | N, i
var textarea = textAreaCache || getContainer();
) D: ^0 Y6 _) V% m' l# m8 ~ if (!textarea) {
- O( j5 }( E, t return text;
" ^" B7 O$ U/ S$ r& X2 c9 Q }
; v y1 e2 _ s$ a5 I8 I textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
& R1 \6 |& d0 r1 d% V var string = textarea.value;8 n" s& D8 n- B3 l1 z
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");- U1 B7 U1 z6 W G
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;");
1 |! W; E9 @. v( `' L% q7 r7 ^ return result;
; ]" l5 J0 j2 v" H, G9 Z- v, ^}
3 P$ K0 \5 z+ B6 K; P: z% z/ n3 U在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考0 M- r- Z/ z2 g$ E2 E! x
http://80vul.com/sobb/sobb-04.txt# t& b8 X* l, {) c
*>3 v* Y7 g7 l0 ^; [# X
测试方法 Sebug.net dis
1 c: C! y2 S0 s% |- I本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!8 k% @: b& S) }
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁, |+ s) O. s: k$ p- A$ w9 S
3 b. q1 m4 c/ | |