简要描述:对某标签和某属性过滤不严导致可以在邮件中植入恶意代码. o y, v* G5 r3 r: v
详细说明:按照老习惯通过支持html编辑的邮箱往目标邮箱海量发送xss vectors然后看漏了什么& K' P2 L& X$ B
/ n$ A V1 O8 ~2 W/ Y2 J
& y1 H1 x) d7 Z4 V& S
可以看到我的svg被提前闭合了,rect里面的 width="1000" height="1000" fill="white"各种属性也和王力宏那首“你不在”一样,不见了。。不过貌似对于xlink:href没有过滤这是硬伤啊。接下来只要能让我插入math标签,这个问题基本上就算是解决了。
6 V& u; ?9 L/ \( M) X6 ?而事实上。。。确实就那样成功了
1 }! ?0 b: ~" |0 w5 l有效的payload如下:- <math><a xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="javascript:alert(1)" target="_blank">abc q<rect></rect></a> </math>: c0 e3 z. Z- [- n& ]4 [& k
! u- Q% `0 u, `, s, X
复制代码
0 N& x6 ]% ]4 R6 F; A当然也可以缩减一下,写成这样。- <math><a xlink:href=javascript:alert(1)>I'mshort' O. ] p- b9 ]+ ^
# A2 N5 o7 |5 q- d; \. F E复制代码
, k; U' A; f7 Y, I- ` x3 G/ i漏洞证明:: b ~) C% s$ Z6 a2 @5 N5 w
; u4 b& z5 o: }9 r% B& \1 m6 F% B4 j1 e/ S' A+ G! _: a
% K) W3 o5 J! J0 R
修复方案:对xlink:href的value进行过滤。
4 ^* a9 ~# Q6 |/ u5 }. i' L" Q B' F( Z6 \* [8 l
来源 mramydnei@乌云
: f9 D8 B/ W3 {" S# L V
4 A H. W: \* J! a1 ^, J u: l; ^' m! U
|