漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
& t" v6 q$ @! E& @ `5 T4 ]# p6 J$ s8 |9 K$ }& Q6 f! e
( h' a! W# k" a8 s8 C. X \
-
% O" n1 Z U# C6 a9 I7 G. k, S4 Q
8 q& M" |/ E$ \ q0 |$ j漏洞版本:百度空间- n/ N; a2 }: O \
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
, j$ e: E3 L3 N' Q5 _$ U' P. h$ r$ P+ H* e; k: K j
1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
% K! [. U, Y3 q; f/ q. V/ f; b2.在http://hi.baidu.com/ui/scripts/pet/pet.js中" a- T8 u' m7 |% t" R- T2 k
% ~% A+ t2 T- ^( U; f! l- J- M7 c将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
& U* i: s6 ^2 l) N其中BdUtil.insertWBR为- E" u5 V' }3 r, a/ j6 M& X
function(text, step) {
% A( r7 @% g; N( s3 g1 `" }4 j var textarea = textAreaCache || getContainer();! l6 L! q9 b3 q( e. f: p
if (!textarea) {8 y- f1 l3 E% r/ e; ?, y5 k
return text;+ Q* u5 R% z) f- g; o" _% g5 s- Z
}8 N ?7 G2 ?1 E" v- L l3 u- s
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
3 Y* ]; \, M" L0 J2 w# G var string = textarea.value;% b" t, E+ { F7 a
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
" j* j) F/ q6 |& i* G8 B 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;");: ~6 U) U$ ]) ]" R1 E0 A
return result;$ X+ Q* ^0 m; @( }
}' C- Y. V. w6 |& W! f, c4 C
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
; M' K$ X. U8 W7 [$ f1 Q2 ~1 c# fhttp://80vul.com/sobb/sobb-04.txt
- ^6 n. A: n0 }) C# s*>2 E- i& _- M* s, Z& k6 v9 G
测试方法 Sebug.net dis
& l: k; A- T U$ b1 Z本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!' g; n' O6 L; E- }
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁$ P$ B: X) {8 x* ]+ @: y. s
$ `! n3 [2 ?% P8 P" X. A6 P
|