CSRF漏洞,是指偽造跨站代碼請求,來達到攻擊目的。具體的攻擊步驟如下:
駭客發現CSRF漏洞——偽造跨站代碼——發送給用戶——用戶打開——用戶執行偽造的代碼——完
成攻擊
本來是想以程序代碼的安全審計來講的,發現很多人不懂PHP代碼。就懶得寫代碼的安全審計了。
簡單來說,在用戶進行正常的操作請求時,服務端並沒有判斷用戶發送的請求是否是用戶本身發送
的。服務端接受到了來自某個cookie用戶發送來的請求,就當成一個正常的請求來執行了。但是可
能是網站本身存在CSRF漏洞。如下圖所示:
CSRF,跨站請求偽造,在受害者通過瀏覽器打開某個惡意URL的時候,通過偽造請求達到跨站請求
偽造(常見於一些商城交互類網站或者自己開發的程序代碼)
用我自己的理解來說一下這個漏洞,簡單來說這個漏洞就是攻擊者在網站的html頁面裡偽造了
一個表單,然後GET POST到存在漏洞的網站裡。大部分網站都用用過cookies作為一個用戶的判斷
,大家聽過cookie這個詞吧?這是服務端判斷用戶身份的一個標識。下面來說一下CSRF攻擊的形式
。eSafe白帽資安網公司是一家專注於:主機安全、網站安全、網站安全檢測、網站安全測試、於一體的安全服務提供商。
利用CSRF漏洞,會對網站以及用戶有什麼危害呢?
1. 配合XSS漏洞可造成蠕蟲病毒攻擊。
2. 可以更改用戶的密碼
3. 更改(商城ecshop等開源程序)用戶收貨地址
用戶所有可以在網站操作的,駭客都可以利用CSRF漏洞去操作。只需要構造PoC代碼,偽造請求
讓受害者點擊就可以執行漏洞。
簡單點來說,B以A的身份執行了A可以執行的操作,當然,我們這裡B是駭客,A是用戶。
CSRF漏洞修復安全建議
通過token或者session來判斷當前用戶身份,檢查POST來路Referer,在POST的信息中加
token機制。
用戶的一些敏感操作需要驗證碼,更改密碼需要驗證之前的老密碼。
驗證HTTP Referer字段
在請求地址中添加token並驗證
在HTTP頭中自定義屬性並驗證