Jsonp常見安全漏洞分析_第1頁
Jsonp常見安全漏洞分析_第2頁
Jsonp常見安全漏洞分析_第3頁
Jsonp常見安全漏洞分析_第4頁
Jsonp常見安全漏洞分析_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Jsonp常見安全漏洞分析(京東商城Jsonp漏洞分析)JSONP(JSONwithPadding)是資料格式JSON的一種“使用模式”,可以讓網頁從別的網域要資料。這個解釋來自于互聯網上面的答案。jsonp只是一種使用json模式,之所以能夠很廣泛使用。主要用它來解決跨域訪問問題??梢苑奖憧缬蛎麄鬏敂祿?。一些是一個jsonp的例子。但是,正確的使用jsonp是至關重要的,用得不好。將帶來重要資料把超范圍訪問,還會帶來各自xss漏洞。JSONP跨域請求例子傳統(tǒng)的ajax,往往是XMLHttpRequest,讀取一個接口,返回類似:{“Name”:“小明”,“Rank”:7}json值。一般我們都采用xmlhttprequest方法通過狀態(tài)判斷執(zhí)行請求是否完畢。JSONP的使用模式里,該URL回傳的是由自定義傳入函數名,動態(tài)生成JSON作為該函數入參,這就是JSONP的“填充(padding)”或是“前輟(prefix)”的由來。請求:<scripttype=〃text/javascript”src=〃/RetrieveUser?UserId=1823&callback二parseResponse〃></script>返回:parseResponse({〃Name〃:"Cheeso","Id":1823,"Rank”:7})parseResponse是傳入參數值決定的,這樣好處通過script標簽可以解決跨域問題,并且只要scriptsrc地址加載完,js解析引擎就開始執(zhí)行src地址返回js內容了。我們使用者不用關心,什么時候src地址加載解析完。只用寫好接收函數:parseResponse,到時候自動回執(zhí)行該項目。比傳統(tǒng)ajax確實多了很多方便!目前,象google翻譯,地圖等都用該方法。實現了跨域及異步調用!JSONP漏洞將來自哪里?它給我們帶來的發(fā)布,是毫無疑問的。那么它將會有哪些漏洞呢?首先,我們知道,一切輸入是有害的。傳入callback值會在結果里面直接返回。因此,如果該參數過濾不嚴格??梢噪S便輸入:callback值為:alert(‘1’);parseResponse字符串。返回結果會打印個alert窗口,然后也會正常執(zhí)行。那么另外我們知道,flash是可以跨域的flash請求外部資源,現在都有個”crossdomain.xml”,可以授權允許那些來源的站點,訪問指定站點的資源。其實目的就是為了防止,資源被越權調用了。如果我們不對其授權,那么任何網站都可通過:創(chuàng)建script標記,讀取我網站資源了!這個安全項,也就是是否有對訪問來源進行了授權訪問!JSONP漏洞總結:知道了JSONP漏洞點主要有:callback參數注入、資源訪問授權設置!我們其實,可以通過這2項,來檢測我們的做的JSONP項目,里面是否有安全隱患了。好了,今天先分析到這里。這些漏洞都是,技術實現型漏洞!只要,我們明白了方法,杜絕是很容易的。之所以會出現類似安全隱患,更多來自,不知道這里有類似安全問題!,題外話、發(fā)發(fā)感慨??!現在網上看到很多教程,以及書籍都只會講,怎么樣使用某個功能,它的方法、技巧等等!很少解決,技術功能點安全避免漏洞的調用方法!做一個功能很重要,但是我始終認為,開發(fā)一個安全、穩(wěn)定功能是最基礎的前提。如果做的功能不安全,穩(wěn)定!它急著上線,只會帶來更大的風險、或是損失?。。g迎大家交流,提出更換的建議?。ā笔裁??這里不是說京東商城有JSONP漏洞嗎?"”對!沒錯!”今天我這里分析漏洞點,大家可以找找京東商城這方面使用漏洞,我們下次分享實例?。┚〇|商城Jsonp漏洞分析(京東商城XSS漏洞)繼續(xù)我們jsonp安全使用分享吧!上一篇文章我們提到jsonp使用,常見2種類型漏洞出現!詳細可以看看:Jsonp常見安全漏洞分析,今天我們來結合實例分析下該漏洞的測試、及利用過程吧!題外話為什么我選擇是京東商城來分析它的jsonp漏洞呢,其實主要原因最近6.18一直在做活動,我也買了不少便宜東西?,F在該商城越做越好了。它系統(tǒng)也非常龐大,速度性能也很好。當時在購物時候,只是想看看,它的系統(tǒng)分離設計方面。通過分析頁面http請求,發(fā)現有很多jsonp調用(也許跟換域名有關系,2種域名都可以訪問,中間用jsonp交換數據),于是就看看,jsonp常見2種安全方面,有沒有做處理。結果一測試。發(fā)現完全沒有做任何處理,幾乎是完完全全暴露出來。個人認為,對于這么大站點,這一點還是頭一次遇到!居然,沒有任何參數處理、以及資源授權!京東商城Jsonpxss漏洞分析

我們看到,該請求就是一個jsonp,默認返回:jsonp13**********({“Identity”:{“Name”:”",”IsAuthenticated”:false}}),我們知道callback傳入參數,會在response中作為函數調用名稱返回!分析callback字符范圍1、測試下有沒有屏蔽常見特殊字符”<>()’”以下這些字符,經常會用到xss里面的。

到這里,分析說明這里存在著xss注入漏洞的。而且,可以選擇很多種方法注入!本編文章,旨在說明jsonpxss漏洞成因!不會具體去擴大漏洞拿到其它什么權限。以下還有個很有意思事情,callback其實,jd對一些特殊字符串做了處理的。我們看看:

從上圖中,我們可以看到,京東商城,對輸入callback對一些特定的字符串進行了屏蔽處理!這也是,我們做xss漏洞檢查時候,經常出現問題。屏蔽字符串能夠屏蔽完嗎?常見26字符,長度不一任意組合。該有多少字符串呢?很多朋友,在做安全檢測時候,就是屏蔽某些覺得很不安全的標簽就認為安全了。其實,我們發(fā)現這樣做法只能是一時安全,過不了多久,你會發(fā)現又有新的字符串出現。你會為此花費大量的人力物力!好了,做類似事情,我們最好方法是,認證那些覺得安全的字符,予以放行!其實,為什么用白名單方法放行允許的字符呢?而不是去過濾一些字符串。原因剛剛說了,字符串太多了。過濾不過來!另外是,我們自己每個業(yè)務參數,會用到那些字符其實我們更清楚。另外有人會問,為什么不去屏蔽不用的字符呢?我們知道基礎ascii碼有0-127,128字符。往往我們,不會用到的字符可能更多呢,我們去過濾不會用到字符,有時候更困難!正確檢查jsonpcallback方法建議收到callback函數對它進行白名單字符范圍檢測!我們可以用一般函數檢測規(guī)范來檢查就可以了。既然它是一個函數名稱,一般都是字符+數字+下劃線+點號(對象分割)。那么我們檢測變得非常簡單,代碼類似如:1<?php2$callback=isset($_GET['callback'])?$_GET['callback']:'';3if(!preg_match("/A[0-9a-zA-Z_.]+$/",$callback)){67 exit('參數錯誤!');}后記:以上是分析一個jsonpxss漏洞過程。要檢測一個站點是否有該漏洞,其實簡單方法,就是看通過參數傳入進去的特殊字符,是不是原原本本的response返回出來。如果有朋友問我,怎么樣利用該漏洞,它能做點什么?你可以把它比作一個蟻穴,能帶來多大危害,看螞蟻怎么樣啃食啦!這些年,sql注入幾乎難找了,不過xss漏洞是頭號殺手。只要有xss漏洞出現,幾乎可以做到無所不能,就看利用的人怎么用了。以上漏洞,我反饋京東商城,這么好的一個網站,不能因為這個小小xss,給用戶帶來大的安全隱患了!最后,歡迎朋友提出自己建議!還有一個忘記說了,就是它的jsonp訪問權限完全沒有限制,下次再分享吧!京東商城Jsonp資源越權限訪問漏洞分析最近比較忙,電腦一直有問題,還沒有修理好。本來以前買個電腦才3000來塊,現在剛好過保幾個月,然后修下說要700多,如果換配件要1000多。這個電腦現在買個新二手,應該也就千把塊,夠黑了。呵呵,不說這么些了。今天我們繼續(xù)分析京東商城Jsonp使用漏洞之二,未對資源訪問進行授權。對于Jsonp漏洞,這里我就不細說了,詳細可以看:Jsonp常見安全漏洞分析(京東商城Jsonp漏洞分析),從上面文章,我們知道jsonp是可以跨域名調用的。這個漏洞是:沒有授權網站,可以直接在該站點訪問jsonp接口資源。可能有朋友會問題:“這個漏洞有什么影響呢?”,一般我們常見有:對于存在漏洞的網站來說:jsonp資源給外部調用,浪費接口資源,也給調用帶來壓力利用者,可以通過jsonp獲取網站資源,構造釣魚站點,或者給用戶發(fā)送釣魚站點。獲取用戶在漏洞網站上面的用戶信息(用戶登陸情況下),或者偷偷操作用戶功能!具體我們看看實例:我們看看,如果有個另外域名站點,怎么樣調用該信息!<?phpheader("Content-Type:text/html;charset=utf-8”);?><script>functionjsonp13724(d){console.log(d);}</script><scripttype="text/javascript"src="/order/rec.action?jsoncallback=jsonp13724”></script>

總結,通過上面例子,對于jsonp跨站訪問,帶來資源別越權調用漏洞。我們應該知道了它的原理。如果要防止這類越權訪問,我們一般只需要對訪問來源:reffer進行授權這是最簡單的方法!也是最常用方法了。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論