简要描述:对某标签和某属性过滤不严导致可以在邮件中植入恶意代码
5 o6 {. p# `4 |$ {详细说明:按照老习惯通过支持html编辑的邮箱往目标邮箱海量发送xss vectors然后看漏了什么
: q9 u6 m- m; w5 ^ g! i3 O) m+ U
: }; Q i# W5 Z$ M" [ |
: _8 ]3 r1 q" X' n1 E可以看到我的svg被提前闭合了,rect里面的 width="1000" height="1000" fill="white"各种属性也和王力宏那首“你不在”一样,不见了。。不过貌似对于xlink:href没有过滤这是硬伤啊。接下来只要能让我插入math标签,这个问题基本上就算是解决了。/ f5 C3 F; ], w
而事实上。。。确实就那样成功了
* K2 H& q4 P" D/ K& B有效的payload如下:- <math><a xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="javascript:alert(1)" target="_blank">abc q<rect></rect></a> </math>
0 l, a5 j6 H5 }' e- F' V - Z6 m" N1 q$ N' g3 O5 l
复制代码
; e) Q! K$ \' W, s当然也可以缩减一下,写成这样。- <math><a xlink:href=javascript:alert(1)>I'mshort
2 h3 |+ \" G3 J $ X& j% p1 x. v
复制代码
7 [! E6 r! k. b; V: ]+ y" [/ ]+ [漏洞证明:7 n* k- O' S# ?0 }
0 _; @* g) b9 @6 T! c' Q' V f7 F2 X0 V( b: J( W
6 x7 T3 }: b, E5 c: F% G" B' g修复方案:对xlink:href的value进行过滤。 j3 a* s% z0 B. E/ V$ [
# ]- j* R4 o# j- |2 A, f
来源 mramydnei@乌云 + d* x. ?0 j3 h
6 [7 B* N0 N: m- b) |
3 f8 u9 m! Y" x' U4 ]9 q! z |