驗證 http協議的請求頭中的 referer值, 它記錄了 http請求的**位址, 在通常情況該位址是同乙個**位址, 而大部分 csrf攻擊是在其它**發起的所以 referer位址也是發起方位址, 所以可以做判斷同乙個位址請求通過否則拒絕, 或需要允許其它發起位址可以做白名單. 不過事實上, 一些瀏覽器黑客可以篡改 referer值, 所以這種方法仍然有問題, 還有有些使用者認為這樣會侵犯到自己的隱私權, 因此, 會在瀏覽器設定請求時不再提供 referer值, 導致即使正常訪問伺服器也會認為是 csrf攻擊, 且拒絕訪問
csrf漏洞是攻擊者利用使用者存在 cookie的驗證資訊來通過安全驗證的, 所以我們防禦時可以在引數中加入乙個隨機產生的 token存放於 session中, 且不存於 cookie中, 讓黑客無法偽造引數, 然後請求時在伺服器首先會比對 token是否正確, 如果 token不正確就把此次請求視為 csrf攻擊, 並拒絕該請求. 此種方式比較繁瑣, 因為每次請求都需要加 token引數到請求位址中或表單中
http 請求頭中新增自定義屬性的方法來防禦 csrf攻擊, 瀏覽器會阻止向外站傳送自定義的請求頭, 但是允許向本站通過 xmlhttprequest的方式傳送自定義請求頭, 所以**內所有的請求裡使用 xmlhttprequest類並附加乙個自定義請求頭 x-requested-by, 可以把方式[2]的 token值統一放到此屬性中傳輸驗證, 在每次請求時如果沒有自定義頭會認為是 csrf攻擊, 且拒絕訪問
如果您覺得有幫助,歡迎點讚哦 ~ 謝謝!!
CSRF 漏洞處理
由於http協議是無狀態的,所有客戶端和伺服器端的資料交換和鑑權資訊都必須附帶在http請求中。通常情況下,將鑑權資訊放在cookie裡已經足夠。瀏覽器發起請求的時,會自動帶上對應網域名稱的cookie,伺服器端接收到cookie後,就可以準確的判斷是誰在發起請求。但是當攻擊者利用這套機制時,通過在...
CSRF漏洞簡介
一 概述 跨站請求偽造 cross site request forgery 也被稱為 one click attack 或者 session riding,通常縮寫為 csrf 或者 xsrf,是一種挾制使用者在當前已登入的web應用程式上執行非本意的操作的攻擊方法。跟跨 指令碼 xss 相比,x...
WEB漏洞 CSRF及SSRF漏洞
cross site request forgery 簡稱為 csrf 在csrf的攻擊場景中攻擊者會偽造乙個請求 這個請求一般是乙個鏈結 然後欺騙目標使用者進行點選,使用者一旦點選了這個請求,整個攻擊就完成了。所以csrf攻擊也成為 one click 攻擊。很多人搞不清楚csrf的概念,甚至有時...