漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
/ r7 U) X/ \; D6 h; e/ ~! v! z7 X* y9 S9 ^' z/ V1 c7 d
% P) _% v0 S5 S: z
-; _0 R1 C# X. o6 w) t) _' z, y
% M. U; [) N- b6 O 6 U. T' ~8 [- H" | t
漏洞版本:百度空间7 B" k; M& A) @1 L
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
8 L% I- T7 F. |1 n& Y/ `! V0 H
+ ~ [3 W/ y) w3 B1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.9 g- P; A* n7 ?/ V( m# a. d! Z
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中8 M% V6 u$ S! H; _ \6 u
y M0 ^" M O7 S% A1 h! s4 V将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
; p& U9 D7 p, j c# }6 t; I z其中BdUtil.insertWBR为; y1 M1 l6 Y" y9 ]
function(text, step) {. E! G5 m* B* h% y9 w
var textarea = textAreaCache || getContainer();$ [# L' v) B7 U9 c
if (!textarea) {1 m6 _3 d/ {3 f K$ m f' d# K
return text;* p5 `2 H: L% O* \+ c7 b( D6 @
}
) t, ]* S, D7 x7 f6 I textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");/ C6 O# \( o: s. V, ^9 g- T3 A, T
var string = textarea.value;' `* Y* H+ |9 B4 M1 l9 s1 w
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");- n' B! t1 d9 `! e# S1 l
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;");
7 m( M+ e/ ^8 R return result; V* w% h: F1 w. ~; |; t; M3 x2 l
}& [$ D' \' y7 a$ q# I6 C- q
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
+ @- t2 L+ X9 h+ P. t0 N0 Jhttp://80vul.com/sobb/sobb-04.txt9 W. X) n8 b; M: M0 E# E
*>- V3 V; m1 h9 y8 D
测试方法 Sebug.net dis
7 B# W5 p) r; H+ M* x7 R本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!, u$ p/ Y1 y1 |
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
! O z/ L8 x2 O }& u, l! t8 r5 C' h8 p# G- L* J1 K
|