目錄
一、同源策略(SOC)
二、跨域資源(COSP)
三、回調(diào)跨域(JSOP)
四、CORS資源跨域-敏感頁面原碼獲取
五、JSONP 回調(diào)跨域-某牙個人信息泄露
六、子域名劫持接管
一、同源策略(SOC)
- 同源策略(SOP)-“同源”包括三個條件:同協(xié)議、同域名、同端口。
- 會檢測數(shù)據(jù)包的來源在哪里,進(jìn)而來判斷數(shù)據(jù)包是否非法,如果檢測到是第三方網(wǎng)站發(fā)送過來的數(shù)據(jù)包,網(wǎng)站就不會接收相應(yīng)的處理,進(jìn)而提高網(wǎng)站的安全性,防止CSRF。
- 同源策略限制從一個源加載的文檔或腳本與來自另一個源的資源進(jìn)行交互,這是一個用于隔離潛在惡意文件的關(guān)鍵的安全機(jī)制.簡單說就是瀏覽器的一種安全策略。雖然同源策略在安全方面起到了很好的防護(hù)作用,但也在一定程度上限制了一些前端功能的實(shí)現(xiàn),所以就有了許多跨域的手段。
- 舉例說明:
二、跨域資源(COSP)
-
其是為了解決SOC限制太嚴(yán)重,但是業(yè)務(wù)需求需要調(diào)用外部資源的問題。
-
CORS 全稱 Cross-Origin Resource Sharing, 跨域資源共享,是 HTML5 的一個新特性,已被所有瀏覽器支持,跨域資源共享 (CORS) 是一種放寬同源策略的機(jī)制,它允許瀏覽器向跨源服務(wù)器,發(fā)出 XMLHttpRequest 請求,從而克服了 AJAX 只能同源使用的限制,以使不同的網(wǎng)站可以跨域獲取數(shù)據(jù)。
- COSP存在下面的一些參數(shù),當(dāng)其設(shè)置的不恰當(dāng)或者不安全的時(shí)候,就可能發(fā)生資源的調(diào)用。
Access-Control-Allow-Origin:指定哪些域可以訪問域資源。
例如,如果requester.com 想要訪問 provider.com 的資源,
那么開發(fā)人員可以使用此標(biāo)頭安全地授予 requester.com 對 provider.com 資源的訪問權(quán)限。
Access-Control-Allow-Credentials:指定瀏覽器是否將使用請求發(fā)送 cookie。
僅當(dāng) allow-credentials 標(biāo)頭設(shè)置為 true 時(shí),才會發(fā)送 Cookie。
Access-Control-Allow-Methods:指定可以使用哪些 HTTP 請求方法
(GET,PUT,DELETE 等)來訪問資源。
此標(biāo)頭允許開發(fā)人員通過在 requester.com 請求訪問provider.com 的資源時(shí),
指定哪些方法有效來進(jìn)一步增強(qiáng)安全性。
三、回調(diào)跨域(JSOP)
-
JSONP跨域巧妙的利用了script標(biāo)簽?zāi)芸缬虻奶攸c(diǎn),實(shí)現(xiàn)了json的跨域傳輸。
四、CORS資源跨域-敏感頁面原碼獲取
1.打開目標(biāo)站點(diǎn),登陸到后臺內(nèi)。
2. 在服務(wù)器內(nèi)有這樣一個文件,文件內(nèi)容如下所示。
3.我們在此訪問下面的頁面。
?4.進(jìn)入后可以看到網(wǎng)頁的內(nèi)容如下。
5.點(diǎn)擊按鈕后會彈出下面的內(nèi)容,其內(nèi)容就是后臺頁面的原碼。?
6.梳理。
7. 其和CSRF原理相同,那么不同點(diǎn)在哪兒呢?區(qū)別在于CSRF可以執(zhí)行添加用戶等操作,但是如果存在同源策略,那么CSRF就會失敗;而CORS是建立在同源策略上面的,其允許訪問跨源,但是其允許的僅僅是資源共享,比如源碼等。
8.CORS的漏洞點(diǎn)出現(xiàn)在其下面的設(shè)置上。
Access-Control-Allow-Origin:*? ? ? ? ??表示其他頁面能搞獲取此頁面的資源。
Access-Control-Allow-Origin:url? ? ? ?表示其只接收從指定的url上傳過來的內(nèi)容。
五、JSONP 回調(diào)跨域-某牙個人信息泄露
1.漏洞產(chǎn)生點(diǎn):
- 支付接口
????????調(diào)用支付寶官方接口來判斷是否支付成功。
????????自己的網(wǎng)站域名是支付寶官方的域名嗎?? ? 不是。
????????屬于不同源——>不符合同源策略。
- 除了支付接口,比如登錄接口等一系列位置。
2.漏洞尋找:
? ? ? ? 看數(shù)據(jù)包里哪些有回調(diào),尋找回調(diào)里面的敏感信息。
3.打開某牙。
4.監(jiān)聽其數(shù)據(jù)包。
5.進(jìn)行下面的操作后就可以看到回調(diào)信息了。
6.查看回調(diào)信息可以看到里面有一串url地址,查看其內(nèi)容發(fā)現(xiàn)其是我們登陸的賬戶的頭像。
7.將這串地址復(fù)制出來。
8.打開下面的html文件,將剛剛復(fù)制的url粘貼到對應(yīng)的位置。
9.?當(dāng)我們?nèi)ピL問這個html,就會自動觸發(fā)剛剛回調(diào)的那個url。
10.梳理。
六、子域名劫持接管
- test.baidu.com cname test.xxxxx.com
- 如果這個時(shí)候test.xxxxx.com 過期或失效等。
- 我們就可以注冊這個域名,進(jìn)而實(shí)現(xiàn)對test.baidt.com 控制。
- 這就實(shí)現(xiàn)了子域名接管。
1.可以使用工具來檢測即將過期或者失效的域名。
? ? ? ? 下載地址:GitHub - yunxu1/dnsub: dnsub一款好用且強(qiáng)大的子域名掃描工具
2.打開工具后輸入下面的命令來進(jìn)行檢測。
3.可以看到檢測出了兩個目標(biāo)url。文章來源:http://www.zghlxwxcb.cn/news/detail-429198.html
4.如果上面檢測出來的兩個域名過期或者失效,我們就可以對其進(jìn)行子域名劫持接管。文章來源地址http://www.zghlxwxcb.cn/news/detail-429198.html
到了這里,關(guān)于WEB攻防通用漏洞&跨域CORS資源&JSONP回調(diào)&域名接管劫持的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!