CSRF(跨站請求偽造)簡介
設計 Web 程式時,安全性是一個主要問題。我不是在談論 DDoS 保護、使用強密碼或兩步驗證。我說的是對網路程式的最大威脅。它被稱為 CSRF, 是 Cross Site Request Forgery (跨站請求偽造)的縮寫。
什麼是 CSRF?
首先,CSRF 是 Cross Site Request Forgery 的縮寫。它通常發音為 “sea-surf”,也經常被稱為 XSRF。CSRF 是一種攻擊型別,在受害者不知情的情況下,在受害者登入的 Web 程式上執行各種操作。這些行為可以是任何事情,從簡單地點贊或評論社交媒體帖子到向人們傳送垃圾訊息,甚至從受害者的銀行賬戶轉移資金。
CSRF 如何工作?
CSRF 攻擊嘗試利用所有瀏覽器上的一個簡單的常見漏洞。每次我們對網站進行身份驗證或登入時,會話 cookie 都會儲存在瀏覽器中。因此,每當我們向網站提出請求時,這些 cookie 就會自動傳送到伺服器,伺服器通過匹配與伺服器記錄一起傳送的 cookie 來識別我們。這樣就知道是我們了。
這意味著我將在知情或不知情的情況下發出請求。由於 cookie 也被髮送並且它們將匹配伺服器上的記錄,伺服器認為我在發出該請求。 CSRF 攻擊通常以連結的形式出現。我們可以在其他網站上點選它們或通過電子郵件接收它們。單擊這些連結時,會向伺服器發出不需要的請求。正如我之前所說,伺服器認為我們發出了請求並對其進行了身份驗證。
一個真實世界的例子
為了把事情看得更深入,想象一下你已登入銀行的網站。並在 yourbank.com/transfer 上填寫表格。你將接收者的帳號填寫為 1234,填入金額 5,000 並單擊提交按鈕。現在,我們將有一個 yourbank.com/transfer/send?to=1234&amount=5000 的請求。因此伺服器將根據請求進行操作並轉賬。現在想象一下你在另一個網站上,然後點選一個連結,用黑客的帳號作為引數開啟上面的 URL。這筆錢現在會轉賬給黑客,伺服器認為你做了交易。即使你沒有。
CSRF 防護
CSRF 防護非常容易實現。它通常將一個稱為 CSRF 令牌的令牌傳送到網頁。每次發出新請求時,都會傳送並驗證此令牌。因此,向伺服器發出的惡意請求將通過 cookie 身份驗證,但 CSRF 驗證會失敗。大多數 Web 框架為防止 CSRF 攻擊提供了開箱即用的支援,而 CSRF 攻擊現在並不像以前那樣常見。
總結
CSRF 攻擊在 10 年前是一件大事,但如今我們看不到太多。過去,Youtube、紐約時報和 Netflix 等知名網站都容易受到 CSRF 的攻擊。然而,CSRF 攻擊的普遍性和發生率最近有減少。儘管如此,CSRF 攻擊仍然是一種威脅,重要的是,你要保護自己的網站或程式免受攻擊。
via: http://www.linuxandubuntu.com/home/understanding-csrf-cross-site-request-forgery
作者:linuxandubuntu 選題:lujun9972 譯者:geekpi 校對:wxy
相關文章
- 跨站請求偽造(CSRF)-簡述
- CSRF - 跨站請求偽造
- 跨站請求偽造CSRF攻防
- 理解CSRF(跨站請求偽造)
- [Http] 跨站請求偽造(CSRF)HTTP
- CSRF跨站請求偽造漏洞分析
- l初識CSRF(跨站請求偽造)
- CSRF 跨站請求偽造學習筆記筆記
- 密碼學系列之:csrf跨站點請求偽造密碼學
- 跨站請求偽造(CSRF)攻擊原理及預防手段
- Django csrf跨站請求偽造,校驗,CBV忽略與允許csrf校驗Django
- SpringSecurity原理解析以及CSRF跨站請求偽造攻擊SpringGse
- Django中如何防範CSRF跨站點請求偽造攻擊Django
- [譯] 跨站請求偽造已死!
- 08 CSRF偽造請求攻擊
- Django框架:13、csrf跨站請求偽造、auth認證模組及相關用法Django框架
- Django框架之csrf跨站請求Django框架
- 伺服器端請求偽造(SSRF)簡介伺服器
- 什麼是CSRF跨站請求偽造?(from表單效驗csrf-ajdax效驗csrf-Ajax設定csrf-CBV裝飾器驗證csrf)
- csrf解決Ajax請求跨站問題
- DVWA學習記錄系列(四)SCRF 跨站偽造請求模組CRF
- jenkins v2.229 版本,無法勾選 “跨站請求偽造保護”Jenkins
- ajax跨域請求簡單介紹跨域
- Django CBV裝飾器 中介軟體 auth模組 CSRF跨站請求Django
- Anchor CMS 0.12.7 跨站請求偽造漏洞(CVE-2020-23342)
- SSRF 服務端請求偽造服務端
- java 偽造http請求ip地址JavaHTTP
- php模擬請求(偽造來源和請求ip)PHP
- .NET Core實戰專案之CMS 第十四章 開發篇-防止跨站請求偽造
- ajax實現跨域請求程式碼例項簡單介紹跨域
- 跨域請求跨域
- 偽造工作經歷,請止步!!!
- CORS跨域請求CORS跨域
- vue跨域請求Vue跨域
- 簡單的實現jsonp跨域請求JSON跨域
- .net core 一個避免跨站請求的中介軟體
- AJAX 跨源 HTTP 請求HTTP
- jquery ajax 跨域請求jQuery跨域