漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
* w! S: f* _: ?! ], E. f1 G" _7 U
# ^4 h! M: A# l: y4 n
-
; O8 p2 \ L# `8 v8 T; {# s& z4 x& k* D' R5 O
) Y. T7 c2 r2 O: o漏洞版本:百度空间
! n. E3 \5 Y7 \漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.4 }7 X1 j1 w- H. E/ r
- K6 _( P H% C6 O
1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
) }6 l- V; K/ ]: @: {! j! G2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
3 N* G) z5 d+ O m' S) B) J) u9 k- @* M1 q1 p+ D
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
9 T* w" k S* [, G$ z1 O6 O5 j其中BdUtil.insertWBR为9 b8 k& ]9 ^$ u, B
function(text, step) {
8 `* U0 I5 i7 [# r( f; m3 c var textarea = textAreaCache || getContainer();
2 l- u. R5 b# ^% j if (!textarea) {
v. H r3 t8 S! y# K% C+ R0 Z return text;
' K3 M" w& s# v3 ]& k- P }
% C5 V( \9 X) U6 W/ P9 k textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
1 }/ G; w% F5 \, S* t1 `. W var string = textarea.value;0 _5 w! d; w7 ]7 @6 V6 P' S
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
' p6 O8 l% u }! o r$ P( f 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;");
/ e/ x5 N2 T: u# M1 | return result;
4 a2 F& N0 |! V) `- D}7 K( E- k( X& Z w
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考3 J* L) E1 p2 i* S9 F& x( s( i. `
http://80vul.com/sobb/sobb-04.txt, F1 s8 g, }/ J C% }8 a
*> A' k) ^- \" X' u
测试方法Sebug.net dis
/ Y5 i4 p6 _, g! Y, j本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!' I8 l3 x9 e- d' v
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁, R5 c. z" Z+ Z; j* W+ }
2 P9 [4 {2 ]- z5 m% u1 }9 S |