漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
# ~8 Z2 H" Q# [% E ~: h! M( g/ v0 Y1 l
( q- Z8 {# S& p
-
# D, p" k( Z; r/ s+ _9 v
* z, P u( W3 z- e- h
& o2 f7 d8 F$ [% o) U漏洞版本:百度空间8 E" m4 S. ?3 r0 g2 ~3 Q; s* s
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
* j' p. H& g/ B1 Y8 T
+ `- u2 y+ {: p3 i1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.: Y' p9 k# a. G( o( {
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
9 I2 O( ~; V' ?, A/ k
; E: d9 s6 D* W+ J6 C将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>8 C: z3 P8 P8 ~3 C* H
其中BdUtil.insertWBR为
p6 ^: Y N% Y# Ifunction(text, step) {/ Q6 s0 w6 L) E3 Y, p6 B! l
var textarea = textAreaCache || getContainer();
# z$ J* p/ F) [. J& g5 F if (!textarea) {
. k$ X3 y" n } return text;
6 N$ }+ \- M. [: x9 @0 y; E }
( `% P4 N+ l4 _& o5 ]0 F" ] textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");. B! y2 S) t- l' @/ ^: g! o
var string = textarea.value;6 p \( x5 Q. _4 y: ^2 t6 d e
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");, R( R3 @% | h, F+ v( [
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;");
; s- J/ I4 S. v8 \3 f" K return result;( F% I4 N0 `; l9 }1 {/ |9 L
}
6 K5 h7 U' T/ G3 P在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考5 v5 y5 a) q, T' U5 X" G- K& C( E
http://80vul.com/sobb/sobb-04.txt' s$ c6 z n- Q) W! M U9 C4 v
*>9 V* x# s# e5 a" B, f6 n* e& q- D
测试方法 Sebug.net dis8 F+ Z# [7 |% y( v/ b3 k/ S
本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
; i0 o! T" O+ _8 G1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁( b& Z* p( v5 m% P& A, x5 i' X. x% c
" |6 u* W& K( z, t2 G |