简要描述:对某标签和某属性过滤不严导致可以在邮件中植入恶意代码9 m; S" i- T. |! ` P% }
详细说明:按照老习惯通过支持html编辑的邮箱往目标邮箱海量发送xss vectors然后看漏了什么) H9 |. O, V l) z# Z6 v
6 G1 y+ p5 T4 C, o, J/ `7 N
$ W0 ~* j, N: K
可以看到我的svg被提前闭合了,rect里面的 width="1000" height="1000" fill="white"各种属性也和王力宏那首“你不在”一样,不见了。。不过貌似对于xlink:href没有过滤这是硬伤啊。接下来只要能让我插入math标签,这个问题基本上就算是解决了。
* @, p1 Z: b+ e4 b3 `而事实上。。。确实就那样成功了9 @6 p4 y5 ~8 ~; P: f. s
有效的payload如下:- <math><a xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="javascript:alert(1)" target="_blank">abc q<rect></rect></a> </math>2 D! e H1 P& Z, v( e# P
: C8 S7 o# c) Q/ Y
复制代码* l0 o6 l6 B/ P5 @3 L
当然也可以缩减一下,写成这样。- <math><a xlink:href=javascript:alert(1)>I'mshort5 x, j) z6 J0 {0 ?: _
6 r. o% u4 S7 J' T. w复制代码
1 r) F5 e' O! y1 R漏洞证明:9 W4 L; @2 D0 `, s9 n
* I: c& m' s. l% \0 I! [
# U, s6 O% o/ Y W: K: Q# Y5 Z
% K8 q! }0 r- y
修复方案:对xlink:href的value进行过滤。# w/ H& d7 s3 y- K3 o) F
' b, @2 R, Z5 b6 p' E% b
来源 mramydnei@乌云
. I6 |/ R& B' M! I4 Z- N* e2 W7 Y) i
0 G5 E7 P1 U+ K* @2 w: _
|