漏洞版本:百度空间 漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS. 1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存. 2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
1 ?# a2 k) P a' t5 H- i- F, n" k% n7 m3 k
2 h9 D+ V0 b1 F0 `) \# t2 b$ p& C
-( q: y$ ^) ^& T& I4 k+ b! _
- o* j# O2 ^4 P" [
' r) T6 h/ L, J+ I. `
漏洞版本:百度空间
2 D" h* R. _8 {& E9 F% _, L, J漏洞描述:百度空间的宠物插件对用户输入变量未经任何过滤便存储,并不经过滤输出,造成XSS.% u( t. H: l; C C1 U
5 w3 R4 u( o( E* |
1.在http://hi.baidu.com/p__z/modify/sppet中,用户可以输入留言管理,提交后,未过滤直接储存.
* T, M" G) {, y! Q$ R2.在http://hi.baidu.com/ui/scripts/pet/pet.js中
3 ?, l& v3 \. H* h" n5 g/ ?; f2 h# h2 a) H- _. i& r
将输出一段HTML:<p style="margin-top:5px"><strong>'+F[2]+"说:</strong>"+BdUtil.insertWBR(F[0], 4)+'</p>) Z# A. p% V5 s1 }! i: X
其中BdUtil.insertWBR为
' D/ {2 W2 w! N. x4 Y( l1 l/ Ofunction(text, step) {, ?: z& c# c5 i2 ^
var textarea = textAreaCache || getContainer();& @" m& E1 Q1 m. i4 ]$ G, O: ~
if (!textarea) {
8 b s! c$ J* W+ }7 H return text;. E# o: q: N! `( h
}
/ v1 S) g$ `/ W9 B! e5 l- X textarea.innerHTML = text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
E, R Q: i8 ~- | var string = textarea.value;, p( b5 C) { a
var step = step || 5, reg = new RegExp("(\\S{" + step + "})", "gi");
; K5 s! a' U+ O& o% V5 p" E 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;");
# v6 Y. t, q1 r+ s( T7 l return result;
) d% P' l5 T: I2 P% t}" P+ H4 {+ p, y
在首页中,textAreaCache 和 getContainer()均不存在,故!textarea为true,未经过滤直接return text.造成XSS.<* 参考8 j1 | w& K8 ?/ P: ?
http://80vul.com/sobb/sobb-04.txt
4 i: ^5 S2 m. I# t+ z*>' V6 P3 X) p- q' G4 `! W
测试方法 Sebug.net dis( r2 @7 n' w* k; Q* A
本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
7 G$ h6 K8 \; I& ~* V3 Q3 ?8 u1.宠物留言管理处输入:<img src=# onerror=alert(/sobb04/)>安全建议:等待官方补丁3 h6 W7 `- f: N4 V5 q. i; d0 R! h
! l1 D/ n h6 s9 {# F0 J. c) Q |