JSONP漏洞自动挖掘方法研究

2017-04-18 16:09杨传栋曲洋
电脑知识与技术 2016年35期

杨传栋+曲洋

摘要:JSONP是一种支持浏览器内跨域信息交换的技术,可用于不同域间的数据传递,由于该技术灵活方便使其在Web领域得到了广泛应用,但安全问题有待解决,倘若网站在处理JSONP请求时没有严格检查来源会产生JSONP漏洞。JSONP漏洞易导致敏感信息泄露,危害极其严重。目前JSONP漏洞的挖掘方法非常有限,主要靠手动方式完成,目前该方法效率较低,且挖掘不全面。针对JSONP漏洞手动挖掘方式的不足提出了一种基于Chrome插件的JSONP漏洞自动挖掘方法,通过该方法可高效、自动、全面地挖掘网站中存在的JSONP漏洞。

关键词:JSON;JSONP;同源策略;回调函数;漏洞挖掘

中图分类号:TP393.08 文献标识码:A 文章编号:1009-3044(2016)35-0017-02

1 引言

随着信息技术的快速发展,业务量的不断丰富,互联网对于Web技术提出了更高的要求。JavaScript[1]的问世无疑更加丰富了用户体验,JSON数据格式的广泛应用让前端技术的发展有了质的飞跃。所有支持JavaScript的浏览器都不允许页面访问非同源[2](同源是指域名、协议、端口相同)信息,然而在实际的业务中,访问非同源信息的场景不可避免,正因如此,JSONP[3]技术得以广泛应用,成为一种非官方跨域数据交互协议。

JSONP带来便利的同时产生了相应的安全问题,如果没有合理利用JSONP易产生JSONP漏洞,最终导致隐私泄露,若被违法犯罪分子利用,将会带来不可估量的损失。目前JSONP漏洞的挖掘主要是靠手工方式,挖掘效率低且挖掘不够全面。针对JSONP漏洞手工挖掘方式的不足,本文首次提出了基于Chrome插件形式的JSONP漏洞自动挖掘方法,能够高效、自动、全面的挖掘网站的JSONP漏洞,为JSONP漏洞的挖掘提供了新思路。

2 JSONP漏洞介绍

2.1 JSON与JSONP

JSON[4]是JavaScript Object Notation的缩写,是一种轻量、可读基于文本的数据交换开放标准。源于JavaScript编程语言中对简单数据结构和关联数组的展示功能,它是仅含有数据对和简单括号结构的纯文本,可通过多种途径进行JSON消息的传递。

JSONP是JSON with Padding的缩写,是一种非官方协议。在同源策略下,某个服务器下的页面是无法获取该服务器以外数据的,但img、iframe、script等标签是例外,这些标签可以通过src属性请求到其他服务器上的数据。JSONP的原理从本质上讲是利用

公司地址: 北京市西城区德外大街83号德胜国际中心B-11

客服热线:400-656-5456  客服专线:010-56265043  电子邮箱:longyuankf@126.com

电信与信息服务业务经营许可证:京icp证060024号

Dragonsource.com Inc. All Rights Reserved

icp