漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中% q0 _. j8 q8 i3 G
/ X4 H" U* G( h9 D
E9 t" b) u) W" W" `-
6 u2 y: R/ N( V9 o5 T, A
8 f a4 ^6 D4 d( u ( f' \0 ]6 H" a2 L9 [
漏洞版本:百度空间
% z1 y- K! g- p# T漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
) U3 F% q _8 \: g' B7 V3 l9 T4 d& A+ y4 M* B5 ?( ?' [; {* [( L
1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.5 Q4 t* o% \7 C
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
: o6 l! P0 f9 w2 L9 i3 g' c5 I! d/ \2 l
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>" V7 d/ y) j0 @0 V' e( L7 E' T
其中BdUtil.insertWBR为
; P/ n- |, f$ |function(text, step) {
# ^$ o6 y! M# }0 b0 M+ | var textarea = textAreaCache || getContainer();/ G/ C E$ C {& n }
if (!textarea) {) ^7 n$ T# b$ s% D$ |/ t0 W( o
return text;
- F4 C9 m+ C9 r/ ]) {2 y }
- I9 D& G9 _$ A" J# \ textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");* c Y. \( q7 D" H3 y6 ]) T6 |
var string = textarea.value;
1 x- K: W, B9 P6 Z" a var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
4 C$ u5 D9 o3 l- L- X1 @2 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;");
l9 B' I: O) y; d" O return result;4 D! A4 E7 O. l0 [ Q, P
}& ?6 B% Q* x# b5 F5 l1 j& R$ |
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考8 p. ^7 h" l# u9 p
http://80vul.com/sobb/sobb-04.txt# h7 {1 O% ?, L1 f- k0 e, v, {' _
*>
+ o- V$ s; R: t% |, Y) R" l测试方法Sebug.net dis
3 t% |, ]' Q1 d# `; G: A本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
l3 e9 Z/ c' N! I1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
3 m8 P. w/ D, `1 `! L( o7 B4 _1 u! q9 M+ ?4 B8 ]/ ? K
|