CSRF漏洞——原理及防禦

CSRF漏洞原理

  •  CSRF(Cross Site Request Forgery, 跨站請求僞造)是一種網絡的攻擊方式,也被稱爲“One Click Attack”或者Session Riding,通常縮寫爲CSRF或者XSRF。
  •  CSRF漏洞是因爲web應用程序在用戶進行敏感操作時,如修改賬號密碼、添加賬號、轉賬等,沒有校驗表單token或者http請求頭中的referer值,從而導致惡意攻擊者利用普通用戶的身份(cookie)完成攻擊行爲。
  • 一次CSRF攻擊的過程中,受害者需要依次完成兩個步驟 :
  • 1.登錄受信任網站A,並在本地生成Cookie 。
  • 2.在A的cookie存活期內,訪問危險網站B。

CSRF高危觸發點

  • 論壇交流
  • 用戶中心
  • 反饋留言
  • 交易管理
  • 後臺管理

CSRF漏洞危害

  • 1、CSRF漏洞會導致受害人在不知情的情況下向論壇發帖子、訂閱郵件列表、網購或股票交易,或變更用戶名或口令。對受到防火牆保護的所有web應用程序而言,CSRF攻擊都能繞過防火牆攻擊web應用。
  • 2、CSRF漏洞還可以和XSS等漏洞結合使用,從而進一步加大了該漏洞的危害。
  • 3、僞造HTTP請求進行未授權操作:
  •      篡改、盜取目標網站上的重要用戶數據。
  •      未經允許執行對用戶名譽或者資產有害的操作,比如:散播不良信息、進行消費等。
  •      如果通過使用社工等方式攻擊網站管理員,會危害網站本身的安全性。
  • 4、作爲其他攻擊向量的輔助攻擊手法,比如配合XSS。
  • 5、傳播CSRF蠕蟲。

漏洞防禦方法

  • Referer驗證
  • Token驗證
  • 增加驗證碼驗證

總結

  • CSRF攻擊的核心是僞造請求,識別這種的攻擊的重點就是判斷當前操作是否僞造;通過在當前頁面生成隨機Token,後端業務邏輯在處理操作時,應該先校驗Token的有效性,然後才能處理業務流程。尤其在覈心業務中,採用Token+Referer的組合進行操作驗證;採用驗證碼校驗操作是因爲攻擊者無法預知驗證碼的值,進而無法構造有效的攻擊;但毫無疑問,驗證碼會一定程度地影響用戶體驗,所以我們要在安全和用戶體驗之間找到一個平衡點。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章