前端安全CSRF篇

CSRF(跨站請求偽造)

簡單場景

基本流程:假設A網站是合法的,B網站是惡意網站

小明是一個A網站的注冊用戶,一般登陸后,網站都會把用戶憑證放在cookie中,在一定時期內小明再訪問A網站就不需要重新登陸了。

假設在這個有效期內,小明訪問了B網站的一個惡意鏈接(可以是點擊也可是打開網頁等),B網站精心設置了一系列操作,利用小明A網站的登陸信息訪問了A網站的一系列接口。比如刪除接口等等。

案例舉到這里可以看出,要實現CSRF攻擊主要滿足:

1.A網站對應的接口要有漏洞

2.小明已經登陸了A網站,具有憑證

如何防御?

1.設置cookie的SameSite屬性

由于CSRF相當于利用登陸用戶的cookie(不能修改),而SameSite屬性只有同一個網站才可以使用

缺點:這個屬性目前兼容性比較差

2.服務端驗證客戶端請求中的refer字段

r缺點:refer可以比較容易的進行抓包修改

3.在網站前端(A網站)設置csrf_token

對應post請求可以再表單中添加隱藏的input標簽,設置值為csrf_token

對于get請求可以設置在meta標簽中等

然后每次刷新頁面csrf_token需要改變,可以在cookie中也設置csrf_token,然后服務端判斷兩個cookie是否相等決定響應

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容