漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中$ \: i! `7 Q; M
% w8 H1 Z* t K/ }6 C- s4 V K
; p" x$ s2 k a-
" p* x5 T8 S. l3 s b
5 f+ W# M2 g9 s, O$ L$ A
6 ?; f- V2 p1 S V/ A0 W3 a! M漏洞版本:百度空间
0 w; q: G8 b( K* G2 O& c7 k漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.; Z0 ~# g: x7 v
( \: g, u {8 a# z5 _) c* L6 h# o1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.4 n# R( P5 y* |8 \' A Q; B
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
0 Z; G& }& O0 D- m1 g- m) S" f7 \1 M. X Z, ]: L7 l
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>/ ]( y B# x% u1 I4 g
其中BdUtil.insertWBR为
+ g. L% r2 H% V9 S4 X5 ufunction(text, step) {0 r3 ^3 S- S# f6 u
var textarea = textAreaCache || getContainer();0 d' ^# Z+ _: |7 s: x3 i
if (!textarea) {
_: D5 @0 a2 r return text;
+ {# Z1 g8 z! l$ M9 b. ?! \ }2 v7 S' H& R% s4 t5 t6 Z r
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");6 k/ F5 E) q3 ^
var string = textarea.value;
! g4 g9 J6 T+ C var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");$ g7 x) f& \$ j5 @, d2 y+ H* C
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;");
5 R* t. Z2 [0 ]) F) Z9 U/ h return result;
L* h, y# k# f: v/ c o}; _# {: ?9 |1 T! u. T: R
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
' ]3 M" i' g& Ehttp://80vul.com/sobb/sobb-04.txt
* n; R2 l! e F" ?- E+ l; z*>
$ g7 | A& I* b* e$ w' f测试方法 Sebug.net dis+ J! O9 \/ A7 f
本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
- y5 S4 X' J/ o; o# {" q1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
+ g A5 C& i# x4 k( F. i L* C
1 I. ?2 L! k, u# C" W$ S% K& a |