CSRF攻擊的防護措施如下:
盡量使用POST,限制GET:GET接口太容易被拿來做CSRF攻擊,只要構造一個img標簽,而img標簽又是不能過濾的數據。接口最好限制為POST使用,GET則無效,降低攻擊風險。當然POST并不是萬無一失,攻擊者只要構造一個form就可以,但需要在第三方頁面做,這樣就增加暴露的可能性。
瀏覽器Cookie策略:IE6、7、8、Safari會默認攔截第三方本地Cookie(Third-party Cookie)的發送。但是Firefox2、3、Opera、Chrome、Android等不會攔截,所以通過瀏覽器Cookie策略來防御CSRF攻擊不靠譜,只能說是降低了風險。
加驗證碼:驗證碼,強制用戶必須與應用進行交互,才能完成最終請求。在通常情況下,驗證碼能很好遏制CSRF攻擊。但是出于用戶體驗考慮,網站不能給所有的操作都加上驗證碼。因此驗證碼只能作為一種輔助手段,不能作為主要解決方案。
Referer Check:Referer Check在Web最常見的應用就是“防止圖片盜鏈”。同理,Referer Check也可以被用于檢查請求是否來自合法的“源”(Referer值是否是指定頁面,或者網站的域),如果都不是,那么就極可能是CSRF攻擊。但是因為服務器并不是什么時候都能取到Referer,所以也無法作為CSRF防御的主要手段。但是用Referer Check來監控CSRF攻擊的發生,倒是一種可行的方法。
Anti CSRF Token:現在業界對CSRF的防御,一致的做法是使用一個Token(Anti CSRF Token)。
回答所涉及的環境:聯想天逸510S、Windows 10。
CSRF攻擊的防護措施如下:
盡量使用POST,限制GET:GET接口太容易被拿來做CSRF攻擊,只要構造一個img標簽,而img標簽又是不能過濾的數據。接口最好限制為POST使用,GET則無效,降低攻擊風險。當然POST并不是萬無一失,攻擊者只要構造一個form就可以,但需要在第三方頁面做,這樣就增加暴露的可能性。
瀏覽器Cookie策略:IE6、7、8、Safari會默認攔截第三方本地Cookie(Third-party Cookie)的發送。但是Firefox2、3、Opera、Chrome、Android等不會攔截,所以通過瀏覽器Cookie策略來防御CSRF攻擊不靠譜,只能說是降低了風險。
加驗證碼:驗證碼,強制用戶必須與應用進行交互,才能完成最終請求。在通常情況下,驗證碼能很好遏制CSRF攻擊。但是出于用戶體驗考慮,網站不能給所有的操作都加上驗證碼。因此驗證碼只能作為一種輔助手段,不能作為主要解決方案。
Referer Check:Referer Check在Web最常見的應用就是“防止圖片盜鏈”。同理,Referer Check也可以被用于檢查請求是否來自合法的“源”(Referer值是否是指定頁面,或者網站的域),如果都不是,那么就極可能是CSRF攻擊。但是因為服務器并不是什么時候都能取到Referer,所以也無法作為CSRF防御的主要手段。但是用Referer Check來監控CSRF攻擊的發生,倒是一種可行的方法。
Anti CSRF Token:現在業界對CSRF的防御,一致的做法是使用一個Token(Anti CSRF Token)。
回答所涉及的環境:聯想天逸510S、Windows 10。