Web安全之CSRF攻擊

2021-09-26 06:59:49 字數 1026 閱讀 4380

跨站點請求偽造(cross—site request forgery)。攻擊者盜用合法使用者的身份,傳送惡意請求到伺服器,然而對伺服器來說,請求是完全合法的,於是伺服器在完全不知情的情況下完成了攻擊者所期望的操作。

首先使用者瀏覽並登入了受信任站點a,通過站點a驗證後,授權資料儲存在站點a產生的cookie資訊裡;

使用者未退出**a之前,在同一瀏覽器中,開啟新標籤頁訪問站點b;

這時惡意站點b的某個頁面向站點a發起請求,而這個請求會帶上站點a的cookie;

站點a根據cookie裡的授權資料,認為是使用者發起的合法請求,執行站點b請求的操作;

專門針對csrf漏洞進行檢測的工具,如csrftester,csrf request builder等。

1 > 檢查 http referer

根據 http 協議,在 http 頭中有乙個欄位叫 referer,它記錄了該 http 請求的**位址。在通常情況下,訪問乙個安全受限頁面的請求來自於同乙個**,而csrf攻擊來自於攻擊**。但是瀏覽器對於referer的具體實現有差別,而且有些舊版瀏覽器支援修改 referer,還有以後的標準可能會廢除referer,所以不建議使用這種方式。

2 > 安全令牌(token)

伺服器與客戶端約定好乙個隨機性、時效性、客戶端不可控的token令牌,伺服器每次接收請求都驗證令牌,每次回應都包含新的令牌資訊。但是對於本身要求很開放的頁面不太友好,建議功能性頁面做好token令牌驗證。

3 > samesite 標籤

為了從源頭上解決這個問題,google 起草了 乙份草案來改進 http 協議,那就是為 set-cookie 響應頭新增 samesite 屬性,它用來標明這個 cookie 是個「同站 cookie」,同站 cookie 只能作為第一方 cookie,不能作為第三方 cookie,這個標籤正在被各個瀏覽器接受。

Web安全之CSRF攻擊

csrf是什麼?csrf cross site request forgery 中文是跨站點請求偽造。csrf攻擊者在使用者已經登入目標 之後,誘使使用者訪問乙個攻擊頁面,利用目標 對使用者的信任,以使用者身份在攻擊頁面對目標 發起偽造使用者操作的請求,達到攻擊目的。舉個例子 簡單版 假如有個加關注...

Web安全之CSRF攻擊

源文位址 csrf是什麼?csrf cross site request forgery 中文是跨站點請求偽造。csrf攻擊者在使用者已經登入目標 之後,誘使使用者訪問乙個攻擊頁面,利用目標 對使用者的信任,以使用者身份在攻擊頁面對目標 發起偽造使用者操作的請求,達到攻擊目的。舉個例子 簡單版 假如...

web安全(xss攻擊和csrf攻擊)

1 csrf攻擊 csrf cross site request forgery 跨站請求偽造。1 攻擊原理 如上圖,在b 引誘使用者訪問a 使用者之前登入過a 瀏覽器 cookie 快取了身份驗證資訊 通過呼叫a 的介面攻擊a 2 防禦措施 1 token驗證 登陸成功後伺服器下發token令牌存...