web基础漏洞-json劫持

发布时间 2023-05-29 15:38:59作者: 挖洞404

1、定义

json劫持,有时也被称为jsonp劫持,或者划分为csrf的一种类型,说的是同一个对象。

一般csrf,是借用用户登录后的cookie凭证身份,结果是攻击者伪造提交操作类型的请求,即增删改,而几乎无法获取数据。

  • 受害者用户登录目标网站,cookie作为登录凭证,不包含token
  • 网站下存在jsonp机制,即允许非ajax跨域请求个人数据
  • 攻击者控制某第三方网站,页面中嵌入目标jsonp,受害者用户访问该页面,自动携带目标域cookie
  • 目标域本身支持jsonp,而jsonp默认支持跨域请求。因此一般不检查referer字段,返回其个人数据
  • 攻击者控制网页中,定义回调函数,将返回的受害者个人数据发送给攻击者

2、场景

(1)从前端上来说,分析jsonp场景的代码

(2)从url来说,一般包括callback关键字,但注意命名并不绝对

(3)响应为json类型,从content-type和响应体部分析。但严格来说,一般纯文本、xml的响应也有可能

(4)时间为登录后,登录凭证cookie,非token

(5)未检查referer

3、防护

(1)token

(2)检查referer

(3)严格过滤 callback 函数名及 JSON 里数据的输出。