JSON漏洞,如何防范与应对?

1、概念

JSON漏洞,如何防范与应对?插图1

什么是JSON:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,使用键值对来存储信息。

什么是JSON Hijacking:JSON Hijacking是一种跨域数据窃取漏洞,通过重写Array构造函数的方法,将敏感的JSON数据发送给攻击者。

什么是JSONP:JSONP(JSON with Padding)是解决跨域访问问题的技术,利用<script>标签和回调函数实现数据传递。

什么是JSONP Injection:JSONP Injection是由于callback参数可自定义导致的注入漏洞,可能导致XSS等安全问题。

2、漏洞对比

返回格式不同:JSONP请求包里有callback参数,返回包里多一个parseResponse({"xx":"yy"});而JSON没有。

JSON漏洞,如何防范与应对?插图3

攻击效果不同:JSONP除了hijacking还可能造成注入漏洞XSS。

挖掘方法相同:在渗透过程中关注或通过burp的HTTP history功能寻找以json形式返回的带有敏感数据的数据包。

都可以实现hijacking攻击:达到盗取用户敏感信息,劫持钓鱼、挂马等。

3、实战案例

漏洞名称 描述
Twitter json hijacking 比较老的一个漏洞,原理和上面类似,重写的函数__defineSetter__也是很多浏览器使用的js扩展。
新浪jsonphijacking盗取csrf_token 经典的jsonp hijacking,callback参数回显,构造HTML文件获取csrf token,进一步使用token构造发帖的post包,造成蠕虫攻击。
Liberapay jsonp hijacking /username/charts.json端点可以返回一个JSONP回调,构造payload造成信息泄露。
Quora jsonp xss 本质上不是json的漏洞,返回值格式为jsonp,由于post请求参数__e2e_action_id未经过滤,输入回显到返回包,导致xss。

4、漏洞修复

JSON Hijacking本质上是CSRF漏洞,防范办法和绕过技巧也类似。

JSON漏洞,如何防范与应对?插图5

JSONP Injection可以通过以下方式进行防范:接受请求时检查referer来源;在请求中添加token并在后端进行验证;严格过滤callback函数名及JSON里数据的输出;使用CORS替换JSONP跨域功能;严格过滤callback函数名及JSON里数据的输出防止产生XSS漏洞;严格安装JSON格式标准输出Content-Type及编码( Content-Type : application/json; charset=utf-8 );在callback输出之前加入其他字符(如:/**/、回车换行)这样不影响 JSON 文件加载,又能一定程度防御JSONP劫持攻击。

JSON漏洞主要包括JSON Hijacking和JSONP Injection两种类型,这两种漏洞都涉及到跨域数据传输的问题,但具体表现形式和攻击效果有所不同,为了防范这些漏洞,开发者需要采取一系列的安全措施,包括检查请求来源、添加验证机制、严格过滤输入输出等。

到此,以上就是小编对于json漏洞的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。

本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/90080.html

小末小末
上一篇 2024年11月4日 19:16
下一篇 2024年11月4日 19:32

相关推荐