文章插圖

文章插圖
【csrf攻擊的防御措施 csrf 防范】說到CSRF很多小伙伴應該很清楚了,不清楚也沒關系,我們下面就來探討一下 。
跨站請求偽造(英語:Cross-site request forgery),也被稱為 one-click attack 或者 session riding,通常縮寫為 CSRF 或者 XSRF,是一種挾制用戶在當前已登錄的Web應用程序上執行非本意的操作的攻擊方法 。跟跨網站腳本(XSS)相比,XSS 利用的是用戶對指定網站的信任,CSRF 利用的是網站對用戶網頁瀏覽器的信任 。
以上內容來自百度百科
那么接下來我們詳細討論一下跨站請求偽造:
理解 CSRF 攻擊的最好方法是看一個具體的例子 。
假設您的銀行網站提供了一個表單,允許將資金從當前登錄的用戶轉移到另一個銀行賬戶 。例如,轉賬表格可能如下所示:
<form method = "post"action = "/transfer" ><input type = "text"name = "amount" /><input type = "text"name = "routingNumber" /><input type = "text"name = "account" /><輸入類型= “提交”值= “傳輸” /></form>相應的 HTTP 請求可能如下所示:傳輸 HTTP 請求
POST /傳輸 HTTP/1.1
主機:bank.example.com
Cookie:JSESSIONID=randomid
內容類型:應用程序/x-www-form-urlencoded
金額=100.00&routingNumber=1234&account=9876
現在假設您對銀行網站進行了身份驗證,然后在不注銷的情況下訪問一個邪惡的網站 。該邪惡網站包含一個 HTML 頁面,其格式如下
邪惡轉移形式
<form method = "post"action = "https://bank.example.com/transfer" ><input type = "hidden"name = "amount"value = "http://www.mnbkw.com/jxjc/188470/100.00" /><input type = "hidden"name = "routingNumber"value = "http://www.mnbkw.com/jxjc/188470/evilsRoutingNumber" /><input type = "hidden"name = "account"value = "http://www.mnbkw.com/jxjc/188470/evilsAccountNumber" /><input type = "submit"value = "http://www.mnbkw.com/jxjc/188470/Win Money!" /></form>你喜歡贏錢,所以你點擊提交按鈕 。在此過程中,您無意中向惡意用戶轉移了 100 美元 。發生這種情況的原因是,雖然惡意網站無法看到您的 cookie,但與您的銀行關聯的 cookie 仍會隨請求一起發送 。最糟糕的是,這整個過程本可以使用 JavaScript 實現自動化 。這意味著您甚至不需要單擊按鈕 。此外,在訪問作為XSS 攻擊受害者的誠實站點時,它也很容易發生 。那么我們如何保護我們的用戶免受此類攻擊呢?
那么我們又有哪些方式可以解決,或者避免這種CSRF攻擊呢,歡迎留下大家的見解
- 外鏈的作用是什么 外鏈的什么很重要
- 老人吃的菜譜
- 荸薺上火嗎
- 服務器負載均衡器 服務器的負載均衡
- 花,紅色的花 紅色的花有哪些
- 祭祖,祭祖的意義 祭祖的意義
- 中秋節,中秋節的來歷 中秋節的來歷簡短
- 化石,化石的形成 化石怎么形成的
- 鼻子,鼻子的種類 鼻子的種類
- 四大菜系,四大菜系的特點 四大菜系的特點
