CSRF攻擊是什麼?防範手段有哪些?
此前,小編為大家介紹過SSRF攻擊、XSS攻擊以及SQL隱碼攻擊的原理及防範手段,本篇文章小編將為大家介紹一下CSRF攻擊-跨站請求偽造。那麼CSRF攻擊是什麼?防範手段有哪些?具體內容請看下文。
CSRF攻擊是什麼?
CSRF,全拼為Cross-site request forgery,也被稱為one-click attack或者session riding,中文名稱叫跨站請求偽造。一般來說,攻擊者透過偽造使用者的瀏覽器的請求,向訪問一個使用者自己曾經認證訪問過的網站傳送出去,使目標網站接收並誤認為是使用者的真實操作而去執行命令。常用於盜用賬號、轉賬、傳送虛假訊息等。
攻擊者利用網站對請求的驗證漏洞而實現這樣的攻擊行為,網站能夠確認請求來源於使用者的瀏覽器,卻不能驗證請求是否源於使用者的真實意願下的操作行為。
CSRF攻擊防範手段有哪些?
第一、驗證HTTP Referer欄位
HTTP頭中的Referer欄位記錄了該HTTP請求的來源地址。在通常情況下,訪問一個安全受限頁面的請求來自於同一個網站,而如果駭客要對其實施CSRF攻擊,他一般只能在他自己的網站構造請求。因此,可以透過驗證Referer值來防禦CSRF攻擊。
第二、使用驗證碼
關鍵操作頁面加上驗證碼,後臺收到請求後透過判斷驗證碼可以防禦CSRF。但這種方法對使用者不太友好。
第三、在請求地址中新增token並驗證
CSRF攻擊之所以成功,是因為駭客可以完全偽造使用者的請求,該請求中所有的使用者驗證資訊都是存在於cookie中,因此駭客可以在不知道這些驗證資訊的情況下直接利用使用者自己的cookie來透過安全驗證。要抵禦CSRF,關鍵在於在請求中放入駭客所不能偽造的資訊,並且該資訊不存在於cookie中。可以在HTTP請求中以引數的形式加入一個隨機產生的token,並在伺服器端建立一個攔截器來驗證這個token,如果請求中沒有token或者token內容不正確,則認為可能是CSRF攻擊而拒絕該請求。這種方法要比檢查Referer要安全,token可以在使用者登陸後產生並放於session中,然後在每次請求時把token從session中拿出,與請求中的token進行比對,但這種方法的難點在於如何把token以引數的形式加入請求。
對於get請求,token將附在請求地址之後,這樣URL就變成:。
對於post請求,要在form的最後加上<input type="hidden" name="csrftoken" value="tokenvalue"/>,這樣就把token以引數的形式加入請求了。
第四、在HTTP頭中自定義屬性並驗證
這種方法也是使用token並進行驗證,和上一種方法不同的是,這裡並不是把token以引數的形式置於HTTP請求中,而是把它放到HTTP頭中自定義的屬性裡。透過XMLHttpRequest這個類,可以一次性給所有該類請求加上csrftoken這個HTTP頭屬性,並把token值放入其中。這樣解決了上種方法在請求中加入token的不便;同時,透過XMLHttpRequest請求的地址不會被記錄到瀏覽器的位址列,也不用擔心token會透過Referer洩露到其他網站中去。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2885540/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 什麼是CSRF攻擊?如何防禦CSRF攻擊?
- 常見網路攻擊手段有哪些?防禦方法是什麼?
- CSRF攻擊原理及預防手段
- csrf攻擊與防範
- CSRF攻擊與Django防範Django
- 網路安全DOS攻擊是什麼?主要手段有哪些?
- 什麼是網路攻擊?常見的網路攻擊手段有哪些?
- 什麼是CSRF攻擊?
- 什麼是DDoS攻擊?如何防範DDoS攻擊?
- 什麼是CC攻擊?CC攻擊的防禦方式有哪些?
- DDoS攻擊的手段有哪些?如何防禦?
- 零日攻擊是什麼?如何防範零日攻擊?
- CC攻擊的原理是什麼?防禦CC攻擊的方法有哪些?
- CC攻擊的危害有哪些?如何防範CC攻擊?
- 【網路安全入門】CSRF攻擊是什麼?它的危害有哪些?
- XSS攻擊和CSRF攻擊有什麼區別?
- 什麼是XSS攻擊?其攻擊原理有哪些?
- [專業術語]什麼是ARP攻擊?如何防範ARP攻擊?
- SQL隱碼攻擊原理是什麼?如何防範?SQL
- DDoS攻擊是什麼?其攻擊現象有哪些?
- 建議收藏!XSS與CSRF攻擊防範措施
- SQL隱碼攻擊原理是什麼?如何防範SQL隱碼攻擊?SQL
- 常見web攻擊型別有哪些?如何預防及防範web攻擊?Web型別
- 跨站請求偽造(CSRF)攻擊原理及預防手段
- XSS 與 CSRF 攻擊——有什麼區別?
- 什麼是DDoS攻擊?哪些行業最需要預防DDoS攻擊?行業
- CSRF攻擊是什麼並且如何防止
- 什麼是拒絕服務,如何防範 DoS 攻擊?
- 【安全篇】APT攻擊是什麼?APT攻擊有哪些危害?APT
- DDoS攻擊方式有哪些?危害是什麼?
- 什麼是資料中毒?如何防範攻擊者的AI和ML攻擊?AI
- CSRF攻擊與防禦
- CSRF 攻擊與防禦
- 緩衝區溢位攻擊是什麼意思?防禦措施有哪些?
- JS每日一題: web安全攻擊手段有哪些?以及如何防範JS每日一題Web
- 常見駭客攻擊方式有哪些?如何防範?
- 【技術乾貨】XSS攻擊、CSRF攻擊基本概念及防範方法
- 撞庫是什麼意思?如何有效防範撞庫攻擊?