简要描述:对某标签和某属性过滤不严导致可以在邮件中植入恶意代码
, u2 q: d9 M, u详细说明:按照老习惯通过支持html编辑的邮箱往目标邮箱海量发送xss vectors然后看漏了什么' ^ X ?: J# ?" z7 m
/ j/ d3 P' {2 \( M* i
5 n7 u. j& E& O/ ^. K可以看到我的svg被提前闭合了,rect里面的 width="1000" height="1000" fill="white"各种属性也和王力宏那首“你不在”一样,不见了。。不过貌似对于xlink:href没有过滤这是硬伤啊。接下来只要能让我插入math标签,这个问题基本上就算是解决了。
* h+ f4 d2 N9 G' X而事实上。。。确实就那样成功了
3 L' ]3 x: |/ L( q9 f4 [- m有效的payload如下:- <math><a xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="javascript:alert(1)" target="_blank">abc q<rect></rect></a> </math>
S2 w' Y' {. \! ]& b * x! Y. U: _( Q3 U" x+ Y4 n
复制代码
% R& e4 V9 B* s6 t当然也可以缩减一下,写成这样。- <math><a xlink:href=javascript:alert(1)>I'mshort" y9 G$ v% W" i: k5 F
2 \, Z2 Z, s; @6 o
复制代码6 X7 E. y5 b$ P
漏洞证明:
* L+ S# g6 S( \+ y) B: F) ~% @) n4 o6 {2 {6 w
: B6 Z8 r! t' {/ Y6 B! w$ I* k- Q! p6 ^) u
修复方案:对xlink:href的value进行过滤。
5 P+ J# k' _% q& r7 s
& v! H! @1 s# W来源 mramydnei@乌云 , B% B' @! q1 C
$ m! h7 n( L) Z& @; ?2 w; D: X' v: a
|