json的安全攻防指南

Posted 疯猫网络

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json的安全攻防指南相关的知识,希望对你有一定的参考价值。



0x00 前言


其实本次文章我是打算主要是写hijacking的但是因为如果hijacking单一的写起文章会显得特别的少内容,本人喜欢简单明了的写,也比较喜欢实操的,理论自然写的不是很好sorry!


刚刚过完年如今已经2018,这是我一八年第一炮,hijacking,主要分享个实操案例以及该类型漏洞的存在于那些地方,劫持哪些数据,以及理论介绍,拿百度api接口做实验不过都是一些地图信息,就算能劫持到的信息也是不敏感的信息,不过这次只是做一个小测试,主要还是理论,看看其他人以及百科对json的介绍


JSONP(JSON with Padding)是JSON的一种"使用模式",可用于解决主流浏览器的跨域数据访问的问题。由于同源策略,一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通,而 html 的<script> 元素是一个例外。利用 <script> 元素的这个开放策略,网页可以得到从其他来源动态产生的 JSON 资料,而这种使用模式就是所谓的 JSONP。用 JSONP 抓到的资料并不是 JSON,而是任意的javascript,用 JavaScript 直译器执行而不是用 JSON 解析器解析。


0x01 安全问题-浅谈


Referer 无过滤,这一种referer是完全可随意的修改的,还有另外的是过滤不严谨导致可以绕过,像图二中只需要在referer中带有 ichunqiu的字样即可绕过继续请求


如图:


    json的安全攻防指南


json的安全攻防指南



Json的一些不安全的使用


1、Content-type编码

2、Referer的过滤

3、过滤callback及函数

4、限制jsonp的callback输出的长度



0x02  json的攻击

以上简单的对json介绍,以及对json的不安全条件介绍,文章第三阶段也就是现在,来讲解json的攻击。


1、content-type-xss,现在比较少见的一种漏洞,它的出现原因是程序员没有严格的过callback,以及对content-type没有定义导致了该漏洞的产生

2、某站的json返回数据中,herd头部里边的content-type 没有严格的定义成 application/ json 这种方式是不安全的定义,在输出的callback中插入了XSS攻击代码可能将形成跨站攻击。


如图:


    json的安全攻防指南

json的安全攻防指南


上图是之前某站的一个同类型的漏洞,刚刚好塞进来,其实本次文章我是打算主要是写hijacking的但是因为如果hijacking单一的写起文章会显得特别的少内容,本人喜欢简单明了的写,也比较喜欢实操的,理论自然写的不是很好sorry!


Hijacking案例:

  乌云上已有许多hijacking案例,其实都挺经典的,此次主要对一个案例的实操,就随意的简单明了,我做事风格,不喜欢扯太多其实也就是这一个漏洞而已,扯多了反而让读者难以记住。


找到了百度的api站点的接口,其实主要的是callback的回调函数,相信你肯定能懂这几窜小代码的原理,附上poc