漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中4 r+ z% t- O) B; r1 R r
% |% ~+ v7 j7 S3 F6 c
1 T/ A3 G. p( `+ G, F) g-) A" M3 [! d. B' U/ @9 W
- P2 } \8 P! [( D( q ; s$ r- l7 E* d _9 x8 E
漏洞版本:百度空间5 R7 W2 i D4 p# a" d
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
; O$ C6 |/ z2 V7 u9 K' C* ?; I1 n: s# J+ y d: v) K2 A
1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
. Q1 T# d" P. w$ X3 Q& n2 `7 p- g. Q2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
6 k5 |! j: g2 O; @. d1 @3 h" L# H
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
( R9 x; }" N8 t* E: J' {/ j' T) b其中BdUtil.insertWBR为; `. H" C7 X# [/ ^1 \
function(text, step) {
. V" U3 X- b: D0 w8 E: |) ?7 F var textarea = textAreaCache || getContainer();
. h) a0 J' \6 x$ g5 R if (!textarea) {
9 M( P( F7 _2 Q8 e( u return text;
& E# w" x v) c }6 h- k$ L# F1 u& p
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");6 E0 p) Q% }4 {. C }
var string = textarea.value;4 c o8 z/ B d2 I" T
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");" M( p: g8 x9 |5 A: {5 `2 O# H
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;");
; [% }, y1 [! ~( M5 F: d5 C return result;
% I2 V" T9 ^& l( A* A}4 _3 f G$ p9 ?% d$ F1 ?! X. ^1 ^
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考9 p8 w2 i! w) V
http://80vul.com/sobb/sobb-04.txt7 d R$ t) R- Y( C% B/ p5 p
*>
, e% ?1 m7 b. E$ D5 e; t测试方法 Sebug.net dis/ r2 T1 O6 p% y4 U' U" ^: f! P% R
本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
3 z" N- Z ^* l+ s( }+ J" f) W1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁8 s; ]9 b0 t. X- p
5 I8 c' H2 v6 ~. d A1 g0 U9 v |