简要描述:对某标签和某属性过滤不严导致可以在邮件中植入恶意代码
* l8 Y6 o8 b0 A+ f% C详细说明:按照老习惯通过支持html编辑的邮箱往目标邮箱海量发送xss vectors然后看漏了什么. D5 ]' l9 Q% F$ _) A: X6 O0 c+ {
, v. O6 j) ]1 w/ N% G/ W( G3 t* c% }( {4 R( [
可以看到我的svg被提前闭合了,rect里面的 width="1000" height="1000" fill="white"各种属性也和王力宏那首“你不在”一样,不见了。。不过貌似对于xlink:href没有过滤这是硬伤啊。接下来只要能让我插入math标签,这个问题基本上就算是解决了。
0 ~& o: `, v! x而事实上。。。确实就那样成功了
^2 d( V+ G9 l/ |. X0 u2 {! Z有效的payload如下:- <math><a xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="javascript:alert(1)" target="_blank">abc q<rect></rect></a> </math>
, |3 N' V3 Z U8 A3 y$ z
& O- U5 Y- s: e7 }& s0 |) k复制代码( m7 o) v* ~& q2 h
当然也可以缩减一下,写成这样。- <math><a xlink:href=javascript:alert(1)>I'mshort- J8 h9 S; N7 L9 u
|( y2 _3 J C* u# b) [复制代码
7 s+ _# L3 @; `# Y: @漏洞证明:4 w) h2 q1 W$ n& k& F9 \- o9 q9 }
* d& q: ^5 j# W G+ n9 Y0 a7 g# G0 Q" E" f4 v
: w5 S5 ]# M- u2 h9 x
修复方案:对xlink:href的value进行过滤。
4 \4 I3 T- T' ^* \; Y6 Q' }: C5 Z/ S* @
来源 mramydnei@乌云 2 V8 j) [2 M! g, C7 U) R
. l3 T3 ^5 S, u7 O* X. w9 M5 Q
) i4 J" L5 Z; J! y! {
|