新聞中心
描述

成都創(chuàng)新互聯(lián)專注于鹽城企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城開發(fā)。鹽城網(wǎng)站建設(shè)公司,為鹽城等地區(qū)提供建站服務(wù)。全流程專業(yè)公司,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
Jsonp(JSON with Padding) 是 json 的一種"使用模式",可以讓網(wǎng)頁從別的域名(網(wǎng)站)那獲取資料,即跨域讀取數(shù)據(jù)。
為什么我們從不同的域(網(wǎng)站)訪問數(shù)據(jù)需要一個特殊的技術(shù)(JSONP )呢?這是因為同源策略。
同源策略,它是由Netscape提出的一個著名的安全策略,現(xiàn)在所有支持JavaScript 的瀏覽器都會使用這個策略。
傳入callback 值會在結(jié)果里面直接返回。因此,如果該參數(shù)過濾不嚴格??梢噪S便輸入:callback值為:alert(‘1’);parseResponse 字符串。返回結(jié)果會打印個alert窗口,然后也會正常執(zhí)行。
實際上就是由于服務(wù)器端對JSONP 的請求來源的檢查不嚴格導(dǎo)致的;
攻擊者模擬用戶向有漏洞的服務(wù)器發(fā)送JSONP請求,然后就獲取到了用戶的某些信息,再將這些信息發(fā)送到攻擊者可控的服務(wù)器
原理
JSONP的最基本的原理是:動態(tài)添加一個
過程
首先,找到存在該漏洞地址:
http://IP:9081/api/v0/sqjr/resident/service/BannerInfo.queryRecommendList.json?province=%E6%B5%99%E6%B1%9F%E7%9C%81&city=%E6%9D%AD%E5%B7%9E%E5%B8%82&jsoncallback=jsonp_1605671133151_19776
修改請求包信息,在返回值開頭中可見calmness;
傳過去的calmness就是函數(shù)名,服務(wù)端返回的是一個函數(shù)調(diào)用,可以理解為:evil就是一個函數(shù),(["customername1","customername2"])就是函數(shù)參數(shù),網(wǎng)站前端只需要再編寫代碼處理函數(shù)返回的值即可。
繼續(xù):
如果我們修改jsoncallback的值為其他值,此處的返回值也會相應(yīng)改變。我們可以劫持jsoncallback參數(shù),自己構(gòu)造jsoncallback處理函數(shù),受害者點擊我們偽造的鏈接后,向jsonp接口發(fā)起請求,請求得到數(shù)據(jù)的處理方式由我們自己的jsoncallback處理函數(shù)處理,由此可以達到劫持目的
進行POC的編寫或者進行淘金
當然,還有繞過token防護進行csrf攻擊;Referer 頭的繞過等等;
修復(fù)建議
json正確的http頭輸出盡量避免跨域的數(shù)據(jù)傳輸,對于同域的數(shù)據(jù)傳輸使用xmlhttp的方式作為數(shù)據(jù)獲取的方式,依賴于javascript在瀏覽器域里的安全性保護數(shù)據(jù)。如果是跨域的數(shù)據(jù)傳輸,必須要對敏感的數(shù)據(jù)獲取做權(quán)限認證。
當前名稱:一次實戰(zhàn)之JSONP漏洞
網(wǎng)頁網(wǎng)址:http://m.fisionsoft.com.cn/article/djipcpi.html


咨詢
建站咨詢
