简要描述:对某标签和某属性过滤不严导致可以在邮件中植入恶意代码0 G/ G) R. o3 W/ a/ k2 j4 N
详细说明:按照老习惯通过支持html编辑的邮箱往目标邮箱海量发送xss vectors然后看漏了什么 V- {4 |' M9 Y& ^
0 ^ @5 m* [: M6 I2 F: n( n0 Q+ l1 E- u' H8 N7 B* i, }& E
可以看到我的svg被提前闭合了,rect里面的 width="1000" height="1000" fill="white"各种属性也和王力宏那首“你不在”一样,不见了。。不过貌似对于xlink:href没有过滤这是硬伤啊。接下来只要能让我插入math标签,这个问题基本上就算是解决了。" U! ~* h/ \! B5 W& Q
而事实上。。。确实就那样成功了# P. R" c, F9 R! f1 V4 M# w
有效的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 a# ]- z0 C/ R/ z% B" J5 {
' l2 f. G1 S; V! g& k
复制代码$ ]( i% j9 a* j+ ~
当然也可以缩减一下,写成这样。- <math><a xlink:href=javascript:alert(1)>I'mshort: v" U- c4 {3 f' ]# w& J) A
: N7 ^, X0 b9 b4 B5 M" h0 I2 i复制代码( O1 k) s' c# u9 h( A( z p
漏洞证明:
; }: G1 [/ L! C5 \
% ~% @9 k; f& V6 K, u5 T* S6 ?
+ ]1 i3 V' b5 Y- ^4 w, A
6 M. f5 u- U" {) Y2 N, u' W/ ]修复方案:对xlink:href的value进行过滤。
+ s7 O& L0 p9 a1 {! w, k4 a. J8 l/ c! L3 z$ B% }7 ]$ E
来源 mramydnei@乌云 % f7 F" W1 k, F
, S% J* C2 l' G4 A4 R5 z0 {: P7 h- G# \- H0 M2 N
|