简要描述:对某标签和某属性过滤不严导致可以在邮件中植入恶意代码$ v3 {- O3 J7 O- P+ |1 V
详细说明:按照老习惯通过支持html编辑的邮箱往目标邮箱海量发送xss vectors然后看漏了什么- K' ]! s; Q9 V5 Y% N$ O; G
$ y; h& a, ]9 g# z
2 i# o! i) J9 j# H1 g8 p可以看到我的svg被提前闭合了,rect里面的 width="1000" height="1000" fill="white"各种属性也和王力宏那首“你不在”一样,不见了。。不过貌似对于xlink:href没有过滤这是硬伤啊。接下来只要能让我插入math标签,这个问题基本上就算是解决了。
2 R& Q1 ^8 r$ W2 j而事实上。。。确实就那样成功了
) i4 i4 X4 t p- h- Z. V5 j有效的payload如下:- <math><a xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="javascript:alert(1)" target="_blank">abc q<rect></rect></a> </math>+ F! D3 W$ C- x- U' \4 d
$ Y9 _" z& }8 n0 ^" }6 W( L: v
复制代码
$ {& Y( z) U9 y; J当然也可以缩减一下,写成这样。- <math><a xlink:href=javascript:alert(1)>I'mshort
/ X x$ B8 H4 {5 X/ M
' d5 a. \2 z* [复制代码
P# l0 K( I' c5 e. x漏洞证明:
5 o5 x: @& v7 g- T [- C
# B& K7 p+ Q! u p' O; q; v
4 y2 w5 o# U: M8 H2 a' ~
8 D. ^, S6 z# y5 l' o3 G+ j3 a& r) _修复方案:对xlink:href的value进行过滤。
8 ?1 S2 \! d. B; C' }3 ^
1 N2 {" O9 J1 S, q来源 mramydnei@乌云 8 x1 Q: N. z) i9 }
3 j0 o3 ~5 Y4 D$ W( i$ C
$ F4 W( ?4 @* ^# S |