简要描述:对某标签和某属性过滤不严导致可以在邮件中植入恶意代码% g" X; X, X6 h o' {
详细说明:按照老习惯通过支持html编辑的邮箱往目标邮箱海量发送xss vectors然后看漏了什么
" y( M- p4 `! @; I' D+ E# v( E/ z( O x- M6 [ d6 [ q5 w, @
# i6 x' v5 p1 i8 ^
可以看到我的svg被提前闭合了,rect里面的 width="1000" height="1000" fill="white"各种属性也和王力宏那首“你不在”一样,不见了。。不过貌似对于xlink:href没有过滤这是硬伤啊。接下来只要能让我插入math标签,这个问题基本上就算是解决了。
0 Y; D& y& F# C3 y8 [而事实上。。。确实就那样成功了' ]5 ~" z) t7 Y4 u! ~, h8 ~+ e, |
有效的payload如下:- <math><a xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="javascript:alert(1)" target="_blank">abc q<rect></rect></a> </math>
- a2 t" T7 o' b. g" O - N1 e: F7 K. Z. y
复制代码2 @$ N) ?1 c5 G- ?
当然也可以缩减一下,写成这样。- <math><a xlink:href=javascript:alert(1)>I'mshort
; b M/ Y- ^: C1 F1 \$ _0 K2 M, ?
# U8 A* z4 d4 \# o6 r) V; q复制代码& L T+ E7 y& J9 m
漏洞证明:
, T) f: O2 u: E e0 H( K
2 ^7 {: e5 l$ D9 F
9 v6 \+ N# J7 I9 [3 p
6 @1 t6 M) T/ |6 ?& a( Y2 i2 N修复方案:对xlink:href的value进行过滤。8 A3 R4 Y8 N% W3 P0 _$ b) ]) w, Y
$ v" s2 f$ w0 X F来源 mramydnei@乌云 + W' L& E& a5 P. r, ]% K' @
L: o% e p' i0 |# S, Q, j; k7 z5 _1 e9 }' V% V* ~
|