[英]Security concerns about CORS
我剛剛了解了CORS,主要是因為我直到現在才需要它。
我已經讀過CORS通過發送帶有AJAX調用的HTTP頭來啟用跨站點源,因此其他服務器可以評估請求來自已批准的站點。
現在我主要擔心的是,HTTP標頭不能被欺騙嗎? 例如,攻擊者不能將請求卷曲到其他服務器,發送我的CORS請求所做的確切HTTP頭嗎? 在這種情況下,服務器將接受請求,攻擊者將檢索服務器將發送給他的任何敏感數據。
我們都知道從頁面檢索javascript是多么容易,所以我用CORS發送的所有內容都可以通過敏銳的眼光看到。 包含HTTP標頭。
因此,我認為敏感信息永遠不應該在CORS通信中共享......或者我是否認為這一切都錯了? 請輕松一點! :) 謝謝
現在我主要擔心的是,HTTP標頭不能被欺騙嗎? 例如,攻擊者不能將請求卷曲到其他服務器,發送我的CORS請求所做的確切HTTP頭嗎?
你有兩個誤解。
同源政策的存在是為了阻止Mallory(邪惡)網站從Alice的網站獲取數據,當Alice訪問Mallory的網站時,要求Alice的瀏覽器請求它。
如果可能,那么Mallory可以獲得任何應該是Alice和Bob之間共享秘密的信息(例如Alice在Bob銀行網站上的賬戶余額)。
攻擊者不能將請求卷曲到其他服務器,發送我的CORS請求的確切HTTP頭嗎?
由於Mallory無法知道請求中需要包含哪些安全憑證(例如,因為它們存儲在Alice的Cookie的Bob網站中):不。
但是CORS在這里並不重要,但是同源策略不是由cURL實現的,因為它不是運行由任意網站提供的JavaScript的瀏覽器。
我想永遠不應該在CORS通信中共享敏感信息
這取決於信息的性質。
如果Alice 和你在CORS標題中授權的任何網站都被允許看到它,那么發送它就好了(盡管你應該使用SSL):只要你認證了Alice的身份。
如果只有Alice和你的站點應該看到它,那么不要在其上放置CORS頭(並且不提供繞過同源策略的任何其他方式,例如JSON-P)。
如果Alice不應該看到它,那么你永遠不應該將它發送到Alice的瀏覽器,CORS或沒有CORS。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.