漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
1 h8 A/ Y' q$ O( z) \4 _$ a+ _; m9 F9 Z! b6 w
* ~! K4 s* C! V2 v: d' u$ k-
# J+ V/ E7 a7 s: k# u7 t+ G% D3 @+ U
9 b" b. {" E/ b* t- ^: Y
漏洞版本:百度空间
& [) P; G+ _$ t/ T漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.$ ]) e# t& M$ z* b4 d
t% @+ Q4 c2 }$ ?/ K# O. B1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.7 {1 \$ o; K4 d: P- N3 c# b
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
7 m" @; W8 u3 v% N* g' f
1 C% [: _0 i' v- T将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p> }$ h2 M, m, x: @; d4 a
其中BdUtil.insertWBR为
9 I" `$ ?" t+ i" _; w( d9 vfunction(text, step) {5 N: ^5 a8 y Z1 ?7 j
var textarea = textAreaCache || getContainer();) T/ u N( q* h/ A% o7 B, v3 @9 c) O& b
if (!textarea) {9 X3 Z7 R" B) }0 j M
return text;
8 p; P5 X" }2 F; |- [0 S }
0 U3 G6 Q# V7 O& U textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
6 t: w1 M( G$ a( j$ U$ { var string = textarea.value;4 U `) P/ m6 X* V: o3 k% v
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
% F; K% g( d0 `( {/ 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;");
% r* n+ l) x* U# b/ N' ` return result;
0 S6 K7 _8 l6 p3 d" `! m6 F0 d0 k}8 h/ p: R" q% T( k, d! O' B% _
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
4 G; Y' l; Q" ^9 nhttp://80vul.com/sobb/sobb-04.txt" G; Z7 K5 ]+ \: h& x: P
*>; T9 P) v& a- s. t- R# }
测试方法 Sebug.net dis
0 L3 T/ W$ S. V3 w" d本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!$ `/ {1 S1 m) `' }
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
- A' u: i; W; t+ s$ K) l8 X. | g" j* H6 S
|