您好,登錄后才能下訂單哦!
這篇文章主要講解了“CSRF是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“CSRF是什么”吧!
剛剛已經說了,全稱叫做夸張請求偽造,很明顯就是和安全有關的一個知識點,意思是攻擊者通過偽造用戶的瀏覽器的請求,向訪問一個用戶自己曾經認證訪問過的網站發送出去,使目標網站接收并誤以為是用戶的真實操作而去執行命令。
舉個例子來解釋,你去某網買東西,輸入了用戶名密碼,攻擊者在另外一個頁面重新使用了你的用戶名密碼。比如發送郵件,發消息,盜取你的賬號,甚至于購買商品,虛擬貨幣轉賬。
所以說危害那是相當嚴重,我們使用一張圖來表示一下這個過程吧。
至于能不能經得起誘惑,就看個人了。有時候我們點擊了某一個鏈接但是沒有執行任何操作,銀行卡的錢卻不見了,你知道這是為什么嗎?我們可以模擬一下這個過程。
其實這個步驟和剛剛那個圖是一樣的。現在有張三和李四進行轉賬。
1、張三給李四100塊,執行的操作是:
xxx/transfer.php?from=張三&money=100&to=李四
注意此時的張三沒有把頁面關閉掉。這里的前綴我沒有寫,因為文章審核通過不了。
2、黑客想把錢轉給自己,執行的操作是:
xxx/transfer.php?from=張三&money=100&to=黑客
很明顯會失敗,這是因為張三在登錄系統的時候會通過cookie,把自己的session傳遞給后臺服務器。此時系統檢查當前的session中的身份,發現不正確就拒絕了。
3、黑客繼續想辦法,使用不良網站誘導:
網站的連接很有顏色感,讓張三欲罷不能,于是點擊了誘導鏈接A。此時返回給黑客的信息就是:
1<html>
2 <body>
3 <form method="get" action="xxx/java">
4 <input type="hidden" name="from" value="張三">
5 <input type="hidden" name="money" value="100">
6 <input type="hidden" name="to" value="黑客">
7 <input type="button" οnclick="submit()" value="來呀,快活呀">
8 </form>
9 </body>
10</html>
如果此時張三剛剛給李四轉完錢,并且頁面還沒關閉,就點擊了這個鏈接,那么就會執行上面的操作。這是因為此時的黑客身份就是張三的信息,銀行不知道因為是張三,于是接受了請求。
1、驗證碼
這個道理很簡單,也是目前使用最廣泛的一種方式。驗證碼則強制用戶必須與應用進行交互,才能完成最終請求。但該方式用戶體驗較差;
2、Referer Check防盜鏈
可以檢測請求是否來自合法的源,如果請求不是來自合法源,則很可能發生了CSRF攻擊,但服務器并不能在任何時候都能獲取到Referer;
3、Token
使用動態的Token。使用真隨機數或者經過密鑰加密的字符串作為token值,使用方式可參考重放攻擊防御中的token,該防御方式需要注意token的完全隨機和有效期,一個經常無規則變動的token值往往是無法破解的。
感謝各位的閱讀,以上就是“CSRF是什么”的內容了,經過本文的學習后,相信大家對CSRF是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。