简要描述:对某标签和某属性过滤不严导致可以在邮件中植入恶意代码4 P3 Q2 L3 Y5 A# ?/ X8 s0 L. |
详细说明:按照老习惯通过支持html编辑的邮箱往目标邮箱海量发送xss vectors然后看漏了什么+ Z! `. s" o' j, a
: P9 N+ ?/ T1 r! q; _ s+ i: s9 D6 A5 H8 [" g2 v
可以看到我的svg被提前闭合了,rect里面的 width="1000" height="1000" fill="white"各种属性也和王力宏那首“你不在”一样,不见了。。不过貌似对于xlink:href没有过滤这是硬伤啊。接下来只要能让我插入math标签,这个问题基本上就算是解决了。
( A. L4 |$ D3 ]7 L: S3 ^而事实上。。。确实就那样成功了) j' d2 }$ B, K- V3 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>% a7 h# u+ E( _7 h
0 {5 c( w# L9 a6 ]% l7 [* Q" c
复制代码
, Q- x( F/ i6 e( v当然也可以缩减一下,写成这样。- <math><a xlink:href=javascript:alert(1)>I'mshort
6 g! B, d l, y1 R$ K
3 x% k9 {+ ]! X7 ] N复制代码0 [, ?8 A1 K8 z1 M' W% B
漏洞证明:1 U6 S: x4 _8 j9 D& R; b* P" D
8 T! R$ p7 x+ C
/ ~, X( W9 @+ z. c" G
# p4 X! Y' Q5 R1 L修复方案:对xlink:href的value进行过滤。
2 ]) G4 i; e0 O
3 e3 t! q: ^8 Q, ^9 R来源 mramydnei@乌云 5 k( y; t/ r8 b" Z
9 I7 `* x: Z; I+ {; W* b/ j2 S
9 A7 S6 {$ Y9 y& c/ |1 @
|