1. 程式人生 > >CSRF與XSS攻擊的原理與防範

CSRF與XSS攻擊的原理與防範

CSRF

1、概念與原理

CSRF,跨站請求偽造,攻擊方偽裝使用者身份傳送請求從而竊取資訊或者破壞系統。例如:

使用者訪問A網站登陸並生成了cookie,再訪問B網站,如果A網站存在CSRF漏洞,此時B網站給A網站的請求(此時相當於是使用者訪問),A網站會認為是使用者發的請求,從而B網站就成功偽裝了你的身份,因此叫跨站請求偽造。

2、CSRF防範

1、重要資料互動採用POST進行接收,當然是用POST也不是萬能的,偽造一個form表單即可破解

2、使用驗證碼,只要是涉及到資料互動就先進行驗證碼驗證,這個方法可以完全解決CSRF。但是出於使用者體驗考慮,網站不能給所有的操作都加上驗證碼。因此驗證碼只能作為一種輔助手段,不能作為主要解決方案。

3、驗證HTTP Referer欄位,該欄位記錄了此次HTTP請求的來源地址,最常見的應用是圖片防盜鏈。PHP中可以採用Apache URL重寫規則進行防禦

4、為每個表單新增token令牌並驗證

XSS

1、概念與原理

XSS,跨站指令碼攻擊,攻擊者利用網站沒有對使用者提交資料進行轉義處理或者過濾不足的缺點,進而新增一些程式碼,嵌入到web頁面中去,從而盜取使用者資料、利用使用者身份進行某種動作或者對訪問者進行病毒侵害的一種攻擊方式。

2、XSS防範

不信任任何客戶端提交的資料,只要是客戶端提交的資料就應該先進行相應的過濾處理然後方可進行下一步的操作。