漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
$ Q4 L8 T' r' Q1 H2 k; l" z' A4 y4 u' B1 X9 l" m
9 f, e. _& k! f/ L; b
-4 k( z, v0 \% U9 w+ z
: y, G7 E$ D7 {/ H9 Z, ? ( U# d; e; a* d% r8 }
漏洞版本:百度空间
3 U8 O, h4 q3 I/ C, u7 p p漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
, q* `# s5 [) \7 @ w! M
: P+ L# q, h ^! }! |" z1 G1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.+ x, H; j7 a: d* h: r8 x" j
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
3 W/ G( o* F% A) q9 w; ?0 \, s6 L' b3 m6 h
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>8 m% j# A: w* V$ n# ^. v
其中BdUtil.insertWBR为
: @- h) Q: y' Ffunction(text, step) {
5 w+ A/ g! T2 r$ M var textarea = textAreaCache || getContainer();
6 v; y1 a( A8 p S! M6 \5 Q( V if (!textarea) {
( ?% a% u3 p; ~2 C u$ y return text;" k" A) E% Z8 A6 b* ^! f: {
}. J0 D3 `7 F( y+ o0 {
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
& P' R4 J& `9 Q- h2 z; q* S var string = textarea.value;# e) M7 J0 j, ~8 U5 V# [7 K5 j+ B
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
# S6 j! M2 r1 w1 S7 U 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;");
/ q/ j1 }- b' t return result;
5 F. Q$ x% B7 y ~2 c; b3 z}2 G9 e9 c0 K o$ w6 V( E7 O
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考
1 p8 e8 ]6 N! h/ vhttp://80vul.com/sobb/sobb-04.txt& e; m& u" G5 d6 H2 H! O+ E( ?
*>6 g- k: f7 G! P
测试方法 Sebug.net dis8 ]' k ]$ I9 K, [ t& ?8 Q
本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
/ r* G6 p; e. ~8 M1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
) D! |) h- I' j! ^9 J$ w7 Q& o2 D: t) t6 z
|