漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中: N, F9 T1 W& U( Y
; U+ N2 y- p! L* r
) v) d6 k8 x0 H/ d4 Q" q, a
-+ H8 T0 R6 @1 w/ B" Q
- ~/ d- }& f1 K7 { 0 e% @8 E/ \+ }# `
漏洞版本:百度空间0 k k" w& l1 E6 W* W# n
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
( ?- h/ g! C1 i9 Z! k, g8 r9 T* ?* H3 m- @8 ~1 o4 ?: C7 C. g
1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.# k& B I+ v: @1 x. ^! a
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
& J% Q! ^: Q: ]: e! C$ U; i7 d7 h1 k. m; q" U9 }) v
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
: w& y7 S4 x4 ^9 {* w/ ?" R& F) q其中BdUtil.insertWBR为
9 m4 _3 B N/ {, ?! Cfunction(text, step) {
4 y6 B% _2 x0 I% z var textarea = textAreaCache || getContainer();( }! B" t% x$ r% V
if (!textarea) {
( O) ]1 u8 t: E9 r) L' t r6 c return text;2 g7 Z& B* G, |( N m
}
% `, b( n0 o, Y' k( O textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");5 s0 o5 ~2 A0 }1 y" U4 p
var string = textarea.value;
" Q" \- V E0 ~2 Y; z var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
- i* G' w/ t6 P) v/ P+ w% \ 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;");3 P) K* y1 e& G7 A }
return result;
. C, R) J7 ? C- L. ]: ?. U n}% j9 q0 k1 U/ f. E4 H7 i
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
! B1 X2 w5 j7 z( j) b9 N6 whttp://80vul.com/sobb/sobb-04.txt
' R1 ~3 C) E; ~, R5 T% s* d*>% v; d4 N0 \2 l k' B2 [. C
测试方法 Sebug.net dis4 [9 X8 k3 p4 y# E" ^, w/ N
本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!+ D' V# d8 O0 F7 m& {$ t0 R* M6 S
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁, G8 f4 p4 F, t3 Q$ L
% ^, j" _$ a" Y" e g" d2 N/ ?1 j |