漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中( F' C2 w3 J6 a
9 U7 S) C( ]5 ~) T
* a9 [7 G+ |6 j4 C1 H0 a-
& J$ K+ K% {# ]; D1 l& `% R8 |
- U% {1 R) f! q: K( L Y
7 r! t0 b% i F! C Q1 \/ f漏洞版本:百度空间2 e n. B0 \0 H: B4 q# g) T
漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.
7 ]2 s, M. l5 O! q/ V, y; F/ y
4 q& d" C1 c8 y: u% F) ^: v1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.. b5 u3 Q4 P! I# @9 U
2.在http://hi.baidu.com/ui/scripts/pet/pet.js中% g5 G/ p7 N9 T# B
4 \0 @* ~; i: w3 O Z$ T
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>
' }( d% d/ a+ \9 m' V其中BdUtil.insertWBR为
: f, o0 I1 {5 R1 P5 gfunction(text, step) {
& b) x% Y5 H6 H$ i; a: G- D( ]; v: N var textarea = textAreaCache || getContainer();
8 @% ]' y2 @ y. c2 x if (!textarea) {
9 v% q e1 {$ M8 ? return text;5 Q3 u' {" P" E+ K
}, ?6 S% h% V1 u2 i
textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
/ J* w+ _/ d% r var string = textarea.value;& [, R: I3 N& w( k3 X- Q% G' A
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
, o# c. y: T I2 t" D7 ? 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;");
N3 o7 s& _, ?* \/ B- N. l+ d return result;' Z1 j/ o% L) L- v7 s/ c
}
; N% C, B: _, C% F1 K, o3 G, v+ u4 ?在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考# [7 B: O: b* z( J) b. a! c
http://80vul.com/sobb/sobb-04.txt
; \/ L% q6 k! I$ Y0 Z' Q*>1 `5 D) u& R: j- F
测试方法 Sebug.net dis
& a; s7 H# f9 L) p8 b8 i本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! N" F m5 ?; P& f: Z) @6 A9 t3 ^
1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁' _# _6 O) u( g# S8 F
1 C1 ~! ^. f& q4 S
|