简要描述:对某标签和某属性过滤不严导致可以在邮件中植入恶意代码
( ^" v7 ^, \( } u) ^/ b/ U* A+ f详细说明:按照老习惯通过支持html编辑的邮箱往目标邮箱海量发送xss vectors然后看漏了什么) Z( K e' ?- d" U9 k: w) c) N
9 t- a- o" U) c. H% y8 c7 D% f2 n) O! M# o! D& a
可以看到我的svg被提前闭合了,rect里面的 width="1000" height="1000" fill="white"各种属性也和王力宏那首“你不在”一样,不见了。。不过貌似对于xlink:href没有过滤这是硬伤啊。接下来只要能让我插入math标签,这个问题基本上就算是解决了。
1 l9 ~# `6 h, v2 @9 s而事实上。。。确实就那样成功了
: P3 k; m# w+ T- n( ?有效的payload如下:- <math><a xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="javascript:alert(1)" target="_blank">abc q<rect></rect></a> </math>
# W/ Z: ?5 [9 T0 {9 }$ B 2 @( s3 H" { g$ b
复制代码, b% G* A s4 e& K
当然也可以缩减一下,写成这样。- <math><a xlink:href=javascript:alert(1)>I'mshort
: w5 [( s: j* J# I1 {
* |- ?6 O4 |! n复制代码
3 ~7 E* r: R" ^% i# p" U, K. E漏洞证明:( y0 s( a3 w" J# p& a4 _
( d; Y: s" V; N* ?& t1 a+ _
/ p/ i$ b+ c: B B( ]9 i" l
* T+ A( e; G( h9 `3 j% |( k修复方案:对xlink:href的value进行过滤。( e% t9 v: L5 p* [% `
G6 H# v5 W) w# p- u- @来源 mramydnei@乌云
" K* [9 r; m0 [: k1 O% n- Y4 i, H# D
; T- Y- Y4 R% B. m0 C9 M0 N+ O7 w( W. K% Q/ H! e$ b. t. `% O, @
|