漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
) u1 w2 `& ~) S: j2 Q8 V$ i7 [: X
3 r( v3 T5 {' j6 t2 e8 B- A( l7 {2 [$ c) b
-
8 Q* M3 F d* b) e
. N' m: L" F* B+ S* m
1 K" h( y" p2 J) y漏洞版本:百度空间; G1 g2 B v& l, l4 R
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.6 Q" r) I" @+ O6 R+ I+ Z
/ _* C3 F, e6 a# b. J8 R& U1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
+ K4 j- B4 K' [. } f2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
4 U$ E+ _& [- Y* `/ `
; ], ]+ d- U8 Z) K' \将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
5 _' e7 t( t5 b' O其中BdUtil.insertWBR为
* t) t1 F3 ]# W+ ?function(text, step) {/ _0 Y# e6 h! E, ^( q) J- n; g+ H3 u
var textarea = textAreaCache || getContainer();
; F4 D ^" Q& e if (!textarea) {* V. q- _/ g) _$ n7 f$ }
return text;
( }0 T6 X/ E9 c1 f. {6 s }
* V+ z+ X! K \! `1 s textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");7 E! \* v2 J, d
var string = textarea.value;! |% |" S& t/ X2 i
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
6 n; G& Z' B# f- }% e1 D4 `, x3 K! ~ 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 T- @4 E3 p( Y7 q( B" X4 c! { g return result;
1 o3 {+ ]5 j' t( n: g$ B}
% G6 y. k$ R k' j: S9 I5 Z/ F在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考# e( ?# R4 C2 q" z& R3 x6 N
http://80vul.com/sobb/sobb-04.txt
1 y7 `! s& ~" i1 @- \' Z' @*>* G( B& v5 a. D+ Z1 a! `4 ~+ g
测试方法 Sebug.net dis
% j, [6 n6 v7 D. e( S, y& B本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
- X3 r- h( R, V+ ^1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁3 S) I. H) r" o7 v; e# [6 g
- V' V' b5 }; G/ H& t a9 B5 F |