星期三, 9月 11, 2019

CSRF is dead?

前幾天在 Hacker news 上看到 Scott Helme 寫的這篇 CSRF is (really) dead ,一直沒看。這兩天開始看,一開始 Scott Helme 先提,你應該先看這篇 Cross-Site Request Forgery is dead! ,再回頭來看。

我先看了第一段,心裡納悶這樣怎麼會有什麼危險呢?後來找了另外兩篇中文來看 (加快理解):
我蠻推第一篇 Huli 寫的文章,寫的很清楚。簡單的說,就是利用 cookie ,當別的網頁裡有嵌入對其他網頁的存取時,會因為 cookie 的關係而有存取權,如果網站沒有做適當的檢查,那麼使用者的資料就有可能遭到竊取或被錯誤的存取。這也是為什麼後來幾乎每套 web framework 都會有 CSRF token 的處理。
回頭來講,Scott Helme 會說 CSRF 死的原因很簡單,就是有了 SameSite cookie,在 2019 年6月以後幾乎各家都支援 SameSite cookie 了 – Can I use samesite cookie? 所以現在只要在 Set-Cookie 時,後面多加 SameSite=Strict 或 SameSite=Lax 就可以避免 CSRF 的風險了。
等到真正普及可能還要一到兩年的時間吧。

沒有留言: