浅谈JSON安全小知识

Posted 锋刃科技

tags:

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

0x00前言

 

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

 

0x01 安全问题-浅谈

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

浅谈JSON安全小知识


Json的一些不安全的使用, 

1. Content-type编码

2. Referer的过滤

3. 过滤callback及函数

4. 限制jsonpcallback输出的长度

 

0x02  json的攻击

 

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

 

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


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


3. 

浅谈JSON安全小知识


4. 



 

Hijacking

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

 

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

<html>

<title>hijacking</title>

<body>

<script> function jQuery33109302702191451935_1522287999903(json){

alert(JSON.stringify(json))}</script>

<script >

</script>

</body>

</html>

 

 

  



本文已获得作者授权,转载请注明作者ID


以上是关于浅谈JSON安全小知识的主要内容,如果未能解决你的问题,请参考以下文章

Python中json一点小知识

PKCS1与PKCS8的小知识

浅谈config文件的使用

Go小知识新解

json对象小知识

微信小程序一些知识点