漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
8 }: ^1 V8 F& v u' z
& O9 E% |: ~+ `3 y z8 w) ?4 ?$ y' e7 |3 | Z
-
2 Z% J1 ` f% A* V4 f1 W6 V& V9 p6 h
. G* w) f& }1 j3 X: m0 d) {漏洞版本:百度空间
3 m* U; g( a* `" y9 i漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.! J& G: c4 O; m
& E7 \) [& ~9 X1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存." i* B8 W# \2 h F( J
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中5 }$ P, n7 Q- r/ q
7 C7 q/ H' M" j8 @7 q! k6 y将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
2 t0 ]& c, |0 T; e) W: L+ J% \: t- v其中BdUtil.insertWBR为
! V. J, z: L" Tfunction(text, step) {5 a( n) M6 K1 N: o
var textarea = textAreaCache || getContainer();7 t! _1 y& r9 M4 U4 [+ r# h
if (!textarea) {
+ I! W$ N3 g, ~" y. R6 O return text;
0 A! n) X! G9 F/ ^ }+ l/ C+ y) ?/ P
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");: E; K$ q" b6 v6 E/ ?5 N, C
var string = textarea.value;
, P$ A) O5 `6 {- h4 Y, @% z var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");9 \: V0 L+ q2 Q0 p9 s
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;");
* Z/ I1 O0 C! H. t5 J* G return result;
! q1 M5 {9 h0 ?; T$ n}( y8 |6 q5 V; ?6 y3 M4 ~: g; g
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
* D3 C6 ^- l5 r5 Nhttp://80vul.com/sobb/sobb-04.txt. |$ j0 I; T8 f/ c5 t- y
*>" x- h" y/ V* l# Q3 X4 @ h% G
测试方法 Sebug.net dis
4 w2 h$ g# f) y1 Q5 P本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!& z7 ~) B! J4 g9 a7 C
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁* Q- O! s9 @" _" G. Y* x( i
7 a% }3 m3 s. \. p, }& B
|