楊傳棟+曲洋
摘要:JSONP是一種支持瀏覽器內(nèi)跨域信息交換的技術(shù),可用于不同域間的數(shù)據(jù)傳遞,由于該技術(shù)靈活方便使其在Web領(lǐng)域得到了廣泛應(yīng)用,但安全問(wèn)題有待解決,倘若網(wǎng)站在處理JSONP請(qǐng)求時(shí)沒(méi)有嚴(yán)格檢查來(lái)源會(huì)產(chǎn)生JSONP漏洞。JSONP漏洞易導(dǎo)致敏感信息泄露,危害極其嚴(yán)重。目前JSONP漏洞的挖掘方法非常有限,主要靠手動(dòng)方式完成,目前該方法效率較低,且挖掘不全面。針對(duì)JSONP漏洞手動(dòng)挖掘方式的不足提出了一種基于Chrome插件的JSONP漏洞自動(dòng)挖掘方法,通過(guò)該方法可高效、自動(dòng)、全面地挖掘網(wǎng)站中存在的JSONP漏洞。
關(guān)鍵詞:JSON;JSONP;同源策略;回調(diào)函數(shù);漏洞挖掘
中圖分類號(hào):TP393.08 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)35-0017-02
1 引言
隨著信息技術(shù)的快速發(fā)展,業(yè)務(wù)量的不斷豐富,互聯(lián)網(wǎng)對(duì)于Web技術(shù)提出了更高的要求。JavaScript[1]的問(wèn)世無(wú)疑更加豐富了用戶體驗(yàn),JSON數(shù)據(jù)格式的廣泛應(yīng)用讓前端技術(shù)的發(fā)展有了質(zhì)的飛躍。所有支持JavaScript的瀏覽器都不允許頁(yè)面訪問(wèn)非同源[2](同源是指域名、協(xié)議、端口相同)信息,然而在實(shí)際的業(yè)務(wù)中,訪問(wèn)非同源信息的場(chǎng)景不可避免,正因如此,JSONP[3]技術(shù)得以廣泛應(yīng)用,成為一種非官方跨域數(shù)據(jù)交互協(xié)議。
JSONP帶來(lái)便利的同時(shí)產(chǎn)生了相應(yīng)的安全問(wèn)題,如果沒(méi)有合理利用JSONP易產(chǎn)生JSONP漏洞,最終導(dǎo)致隱私泄露,若被違法犯罪分子利用,將會(huì)帶來(lái)不可估量的損失。目前JSONP漏洞的挖掘主要是靠手工方式,挖掘效率低且挖掘不夠全面。針對(duì)JSONP漏洞手工挖掘方式的不足,本文首次提出了基于Chrome插件形式的JSONP漏洞自動(dòng)挖掘方法,能夠高效、自動(dòng)、全面的挖掘網(wǎng)站的JSONP漏洞,為JSONP漏洞的挖掘提供了新思路。
2 JSONP漏洞介紹
2.1 JSON與JSONP
JSON[4]是JavaScript Object Notation的縮寫(xiě),是一種輕量、可讀基于文本的數(shù)據(jù)交換開(kāi)放標(biāo)準(zhǔn)。源于JavaScript編程語(yǔ)言中對(duì)簡(jiǎn)單數(shù)據(jù)結(jié)構(gòu)和關(guān)聯(lián)數(shù)組的展示功能,它是僅含有數(shù)據(jù)對(duì)和簡(jiǎn)單括號(hào)結(jié)構(gòu)的純文本,可通過(guò)多種途徑進(jìn)行JSON消息的傳遞。
JSONP是JSON with Padding的縮寫(xiě),是一種非官方協(xié)議。在同源策略下,某個(gè)服務(wù)器下的頁(yè)面是無(wú)法獲取該服務(wù)器以外數(shù)據(jù)的,但img、iframe、script等標(biāo)簽是例外,這些標(biāo)簽可以通過(guò)src屬性請(qǐng)求到其他服務(wù)器上的數(shù)據(jù)。JSONP的原理從本質(zhì)上講是利用
客服熱線:400-656-5456??客服專線:010-56265043??電子郵箱:longyuankf@126.com
電信與信息服務(wù)業(yè)務(wù)經(jīng)營(yíng)許可證:京icp證060024號(hào)
Dragonsource.com Inc. All Rights Reserved