CSRF
原理:誘導用戶在訪問第三方site時,訪問攻擊者構造的site,攻擊者site會對原site進行惡意操作。
burp模擬攻擊:
對一個博客系統點擊發布文章時,Burp Suite抓包,右鍵CSRF PoC功能 -> Engagament tools -> Generate CSTF Poc ,HTML代碼為CSRF漏洞測試代碼,對其代碼發布到一個網站,再誘導 目標用戶點擊,則目標用戶會自動發布一篇文章。
瀏覽器Cookie策略
CSRF攻擊時,需要cookie的話,就要Cookie劫持。
瀏覽器Cookie分為:
- “Session Cookie”
瀏覽器關閉,則失效 - “Third-party Cookie”。
expire時間后失效
某些瀏覽器是禁止<img>,<iframe>,<script>,<link>
等標簽,跨域時傳輸"Third-party Cookie"。
如果網站返回給瀏覽器的HTTP頭中包含有P3P頭,則在某種程度上來說,將允許瀏覽器發送第三方Cookie。
P3P Header是W3C制定的一項關于隱私的標準,
全稱是The Platform for Privacy Prefer-ences。
3 CSRF的防御
CSRF攻擊往往是在用戶不知情的情況下,構造了請求。
輔助手段:(2者都存在缺陷。)
- 驗證碼
強制與應用交互完成請求 - Referer Check
防止圖片盜鏈和檢測請求是否來自合法的源;
CSRF防御:
業界統一做法:使用一個Token:Anti CSRF Token
CSRF本質:是重要操作的所有參數都是可以被攻擊者猜測到的。解決方案:把參數加密,或者使用一些隨機數,從而讓攻擊者無法猜測到參數值。token:也由server生成,但server會檢查用戶傳入與server端存儲的是否一致。