简要描述:对某标签和某属性过滤不严导致可以在邮件中植入恶意代码
# ]: ?) p. `) e/ u5 b详细说明:按照老习惯通过支持html编辑的邮箱往目标邮箱海量发送xss vectors然后看漏了什么6 e) [4 Y6 w3 h0 j; k) D$ {
6 i( K N6 V. U9 @% b
5 U* b* O, {. g2 m可以看到我的svg被提前闭合了,rect里面的 width="1000" height="1000" fill="white"各种属性也和王力宏那首“你不在”一样,不见了。。不过貌似对于xlink:href没有过滤这是硬伤啊。接下来只要能让我插入math标签,这个问题基本上就算是解决了。, n9 k) | R% h9 j& \8 d9 f4 ?
而事实上。。。确实就那样成功了
2 f [+ x( k0 T7 J4 v% V有效的payload如下:- <math><a xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="javascript:alert(1)" target="_blank">abc q<rect></rect></a> </math>
4 f) {& W: b( P( J: H
/ R2 a! p+ R, f: T; M复制代码
7 x$ e% ?& N2 S1 f当然也可以缩减一下,写成这样。- <math><a xlink:href=javascript:alert(1)>I'mshort- s$ Y8 T) B" K$ V3 M% D, B
5 p& R5 P- g- q. I. \/ v" \7 f4 Y1 ?
复制代码: S1 D8 Y& M' O4 a+ t3 B
漏洞证明:+ T, J$ T9 t5 L, A4 t- t% o1 D! R& h
$ K* Q2 m- l4 h* C5 k L( z
9 f+ v$ ^ g1 X8 c( o0 T( B! n1 i; S6 ?. n5 v q
修复方案:对xlink:href的value进行过滤。" ?' v. ]7 R5 t) P: h0 _2 h9 Q: O
" b7 K* h5 F6 b: b8 ~# f来源 mramydnei@乌云 # {+ P2 x, j' D% g
% a- M- W- J% K; U9 T3 h: i
" ^/ f, w4 L" d' @8 k" E |