漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中7 t4 M& O/ M! S: _# i) a- y
* p, K0 e3 b9 P8 u+ H/ [
) X( b$ u" v6 o/ X6 q
-
2 p/ \, i* i' ?6 `8 S; L1 n5 ^( B5 z& H% U6 i
/ v3 b' e- x- ?1 {
漏洞版本:百度空间
( E0 ?6 {8 Y5 H* R. W$ _9 F; c漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
$ u& X( {. D- j# r% C$ u. \ [- V. v( s t) J* R% r3 d; B
1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
/ v: b6 m8 n6 u3 }" F- k' x m2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
5 L9 O5 z! M d/ K! w
$ _. T. `2 g3 [" u, M1 U将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>' J8 O5 i0 c3 L$ C( m. \% C9 k
其中BdUtil.insertWBR为
& v2 k& Z- d$ x1 z& @function(text, step) {
3 W1 D4 k/ g/ Z3 Z* p var textarea = textAreaCache || getContainer();# H4 b. N; X# L- T' F0 d
if (!textarea) {, ?4 m1 N( {6 A4 v4 u! b2 r
return text;
1 ?# c. H j+ N6 k0 @% G, w$ }5 t6 M }
' J: x8 b. s# d6 k" ?( G Y( ] textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");: q% T1 H7 ?6 B! J: d; k7 U6 J3 Q2 K
var string = textarea.value;3 B- ]5 G. H9 Z9 Q: t
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");: o' P3 X' q( K2 p$ F8 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 ?/ h& C! N" D
return result;5 e- B+ M9 j d4 D8 R4 u
}! {" ]: v Z3 }3 c* f: l$ ?
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考" J) E, I* c! v$ S$ G
http://80vul.com/sobb/sobb-04.txt8 U$ J# U1 s8 p2 z# @ N; u8 \: F
*>8 ?3 D3 o1 k; Y
测试方法Sebug.net dis
3 \: j) J" L# {7 ]( _本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!5 n5 J" ~1 X4 s/ x
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁# P" R' \: y/ f
$ X" O! n( N) L l$ f |