成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

HTML5安全風險詳析之一:CORS攻擊

安全 應用安全
CORS-CrossOrigin Resources Sharing,也即跨源資源共享,它定義了一種瀏覽器和服務器交互的方式來確定是否允許跨域請求。它是一個妥協,有更大的靈活性,但比起簡單地允許所有這些的要求來說更加安全。簡言之,CORS就是為了讓AJAX可以實現可控的跨域訪問而生的。

一、從SOP到CORS

SOP就是Same Origin Policy同源策略,指一個域的文檔或腳本,不能獲取或修改另一個域的文檔的屬性。也就是Ajax不能跨域訪問,我們之前的Web資源訪問的根本策略都是建立在SOP上的。它導致很多web開發者很痛苦,后來搞出很多跨域方案,比如JSONP和flash socket。如下圖所示:

后來出現了CORS-CrossOrigin Resources Sharing,也即跨源資源共享,它定義了一種瀏覽器和服務器交互的方式來確定是否允許跨域請求。它是一個妥協,有更大的靈活性,但比起簡單地允許所有這些的要求來說更加安全。簡言之,CORS就是為了讓AJAX可以實現可控的跨域訪問而生的。具體可以參見我的這篇文章《HTML5安全:CORS(跨域資源共享)簡介》。示意如下圖所示:

現在W3C的官方文檔目前還是工作草案,但是正在朝著W3C推薦的方向前進。不過目前許多現代瀏覽器都提供了對它的支持。

服務器端對于CORS的支持,主要就是通過設置Access-Control-Allow-Origin來進行的。如果瀏覽器檢測到相應的設置,就可以允許Ajax進行跨域的訪問。例如:

Access–Control-Allow-Origin: http://blog.csdn.net

應用CORS的系統目前包括Face.com、GoogleCloudStorage API等,主要是為開放平臺向第三方提供訪問的能力。

二、CORS帶來的風險

CORS非常有用,可以共享許多內容,不過這里存在風險。因為它完全是一個盲目的協議,只是通過HTTP頭來控制。

它的風險包括:

1、HTTP頭只能說明請求來自一個特定的域,但是并不能保證這個事實。因為HTTP頭可以被偽造。

所以未經身份驗證的跨域請求應該永遠不會被信任。如果一些重要的功能需要暴露或者返回敏感信息,應該需要驗證Session ID。

2、第三方有可能被入侵

舉一個場景,FriendFeed通過跨域請求訪問Twitter,FriendFeed請求tweets、提交tweets并且執行一些用戶操作,Twitter提供響應。兩者都互相相信對方,所以FriendFeed并不驗證獲取數據的有效性,Twitter也針對Twitter開放了大部分的功能。

但是當如果Twitter被入侵后:

FriendFeed總是從Twitter獲取數據,沒有經過編碼或者驗證就在頁面上顯示這些信息。但是Twitter被入侵后,這些數據就可能是有害的。

或者FriendFeed被入侵時:

Twitter響應FriendFeed的請求,例如發表Tweets、更換用戶名甚至刪除賬戶。當FriendFeed被入侵后,攻擊者可以利用這些請求來篡改用戶數據。

所以對于請求方來說驗證接收的數據有效性和服務方僅暴露最少最必須的功能是非常重要的。

3、惡意跨域請求

即便頁面只允許來自某個信任網站的請求,但是它也會收到大量來自其他域的跨域請求。.這些請求有時可能會被用于執行應用層面的DDOS攻擊,并不應該被應用來處理。

例如,考慮一個搜索頁面。當通過'%'參數請求時搜索服務器會返回所有的記錄,這可能是一個計算繁重的要求。要擊垮這個網站,攻擊者可以利用XSS漏洞將Javascript腳本注入某個公共論壇中,當用戶訪問這個論壇時,使用它的瀏覽器重復執行這個到服務器的搜索請求。或者即使不采用跨域請求,使用一個目標地址包含請求參數的圖像元素也可以達到同樣的目的。如果可能的話,攻擊者甚至可以創建一個WebWorker執行這種攻擊。這會消耗服務器大量的資源。

有效的解決辦法是通過多種條件屏蔽掉非法的請求,例如HTTP頭、參數等。

4、內部信息泄漏

假定一個內部站點開啟了CORS,如果內部網絡的用戶訪問了惡意網站,惡意網站可以通過COR(跨域請求)來獲取到內部站點的內容。

5、針對用戶的攻擊

上面都是針對服務器的攻擊,風險5則針對用戶。比方說,攻擊者已經確定了你可以全域訪問的productsearch.php頁面上存在SQL注入漏洞。 攻擊者并不是直接從它們的系統數據庫中獲取數據,他們可能會編寫一個JavaScript數據采集腳本,并在自己的網站或者存在XSS問題的網站上插入這段腳本。當受害者訪問含有這種惡意JavaScript腳本的網站時,它的瀏覽器將執行針對“productsearch.php”的SQL注入攻擊,采集所有的數據并發送給攻擊者。檢查服務器日志顯示是受害人執行了攻擊,因為除了來自Referrer的HTTP頭一般沒有其他日志記錄。受害者并不能說他的系統被攻破,因為沒有任何任何惡意軟件或系統泄漏的痕跡。

三、攻擊工具

Shell of the Future是一個反向WebShell處理器,它利用HTML5的跨站請求來劫持會話。

四、防御之道

1、不信任未經身份驗證的跨域請求,應該首先驗證Session ID或者Cookie。

2、對于請求方來說驗證接收的數據有效性,服務方僅暴露最少最必須的功能。

3、通過多種條件屏蔽掉非法的請求,例如HTTP頭、參數等。

責任編輯:藍雨淚 來源: 博客
相關推薦

2013-01-04 11:40:54

2013-01-04 13:30:04

2013-01-04 13:39:51

2013-01-04 11:38:35

2013-01-04 13:14:22

2013-01-04 13:54:49

2013-01-21 11:04:38

2013-01-21 13:52:47

2013-06-27 14:33:00

2013-08-14 09:57:53

2015-05-22 10:06:58

2012-05-30 09:34:57

2012-06-05 10:48:23

2010-08-25 11:32:34

2010-04-12 13:41:47

2015-02-04 14:50:29

2015-05-11 09:43:07

路由traceroute

2014-08-26 10:43:52

2019-03-29 15:11:13

2013-01-24 10:26:04

HTML5HTML 5HTML5的未來
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品精品视频一区二区三区 | 一区二区三区四区免费视频 | 中文字幕在线电影观看 | 一区精品视频在线观看 | 蜜桃久久 | 国产高清视频在线观看 | 国产亚洲精品久久午夜玫瑰园 | 亚洲成人一区二区 | 日韩免费视频 | 精品国产一区二区三区久久影院 | 国产欧美精品一区二区三区 | 精品欧美一区二区三区久久久 | 亚洲va欧美va天堂v国产综合 | 精品一区二区在线观看 | 亚洲精品18 | www.4hu影院 | 中文字幕精品一区二区三区精品 | 在线视频h | 欧美一区二区三区在线免费观看 | 7777在线视频 | 国产精品久久久精品 | 中文字幕在线视频一区二区三区 | 成人黄色电影在线观看 | 99成人在线视频 | 国产乱码精品一区二区三区中文 | 四虎成人在线播放 | 久久久网 | 亚洲国产一区二区三区 | 国产农村妇女毛片精品久久麻豆 | 日韩一区二区三区视频在线播放 | 99av成人精品国语自产拍 | 一级毛片在线视频 | 欧美一级高清片 | 中文字幕在线观看第一页 | 国产98色在线 | 日韩 | 欧美精品一区二区三区蜜桃视频 | 日日欧美 | 精品久久久久一区二区国产 | 91中文字幕 | 国产色爽| 青青青伊人 |