漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
9 [1 x0 R0 n1 _4 M
, g/ H4 l$ O4 c( x5 L' ~/ v
; P3 I; ], A+ }( ^' N* _; A$ z-
3 Y4 E( q5 g3 O3 u
" ^' N1 T* v' d1 J 0 f2 [' c' `; \ b V4 e6 k4 d
漏洞版本:百度空间4 q/ z! V% L" k4 A4 b- e! Z
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
: U. b) A6 \! S4 O% Y, i" A# L+ }9 h/ | q
1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
" y( R* b4 y3 [9 I' x/ X; J2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
9 [& v0 J" D/ n T) B
. R1 }- [; K6 Q4 _$ r& }将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>& Y9 q8 |; J7 I2 Z' q* @
其中BdUtil.insertWBR为
9 Z2 e5 j0 w% D- ~' u5 k- v4 xfunction(text, step) {
5 q3 \+ Z6 a! X* m" ?, U var textarea = textAreaCache || getContainer();; r3 M, c0 I& o; e/ J
if (!textarea) {* O* J- M) Q) }) m, {; l) \, j
return text;
- y/ |+ X3 `# t' @ }
! K( f* J' r6 y! O textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
& u/ x1 d) L8 y* N6 Y* \7 N var string = textarea.value;: b, C8 A: Z8 I {
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");( C& {3 h7 |4 `1 f& u5 O' M8 v* Z
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;");
3 j* N- `0 w o q0 p, x, u/ b4 e8 @ return result;
/ P" ?: S9 @( [$ r# w) b}4 Z& s7 J$ K0 r/ ^* }
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考* f, M" Z% n4 F# `" @ g+ T$ h; H
http://80vul.com/sobb/sobb-04.txt$ j) y6 J4 p1 W- R
*>/ h: m1 W5 G" Z( I0 g$ k
测试方法 Sebug.net dis
, R) P8 ?, F8 y3 Y7 m本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
/ |7 L! `6 K% H+ T5 P$ Q1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁
1 A+ }7 `4 J2 q; y l7 B
1 ?" y' G @9 W: p! Y+ k; _ |