前後端分離下的CSRFXSRF | Axios xsrfHeaderName
發表於2021-05-27分類於Nodejs[1]GoogleAD撰寫一篇文章其實真的很花時間,如果你願意「關閉Adblock(廣告阻擋器)」來支持我的話,我會非常感謝你ヽ(・∀・)ノLiker讚賞這篇筆記文章如果對你有幫助,你可以考慮花30秒登入LikeCoin並點擊下方拍手按鈕(最多五下)免費支持與鼓勵我。或者你可以也可以請我「喝一杯咖啡(Donate)」。|CSRF雖然滿常見的,大多時候都可以解決,但是在完全前後分離下的處理方式又是另一回事。前言CSRF雖然滿常見的,大多時候都可以解決,但是在完全前後分離下的處理方式又是另一回事。CSRF由於先前的文章全端勇士...
發表於 2021-05-27 分類於 Nodejs[1]Google AD
撰寫一篇文章其實真的很花時間,如果你願意「關閉 Adblock (廣告阻擋器)」來支持我的話,我會非常感謝你 ヽ(・∀・)ノ
Liker 讚賞 這篇筆記文章如果對你有幫助, 你可以考慮花 30 秒登入 LikeCoin 並點擊下方拍手按鈕(最多五下)免費支持與鼓勵我。 或者你可以也可以請我「喝一杯咖啡(Donate)」。 |CSRF 雖然滿常見的,大多時候都可以解決,但是在完全前後分離下的處理方式又是另一回事。
前言CSRF 雖然滿常見的,大多時候都可以解決,但是在完全前後分離下的處理方式又是另一回事。
CSRF由於先前的文章 全端勇士之路 Node.js 基礎學習-CSRF 篇[2] 已經有描述相關的例子,所以這邊就直接貼上先前的描述
CSRF 簡單來講就是利用使用者瀏覽器對於網站的信任來達到攻擊,假設我們已經知道某某某 API 路徑,例如刪除帳號的API https:/www.example.com/delete?id=XXX,然後黑客就傳給你一個句話「快看!點這個網址可以取得一個比特幣」(屁)
因此其實在 維基百科[3] 上也有特別粗體黑字標示 CSRF 的重點觀念
這利用了web中使用者身分驗證的一個漏洞:簡單的身分驗證只能保證請求發自某個使用者的瀏覽器,卻不能保證請求本身是使用者自願發出的。
Client Double Submit Cookie在前面的文章中,就有描述到在沒有前後端分離的狀況下是如何處理 CSRF 的,基本上簡單來講就是透過 SSR 渲染畫面時,同時後端往前端丟一個 CSRF Token 的隨機字串,並儲存在畫面某個地方(通常是隱藏表單),所以當你打開開發者工具時,是可以找到一個畫面看不到的隱藏 input 欄位的:
1<input type="hidden" name="_csrf" value="BUMy6bl3-wtVBYgP9zA8xZLtFEP68mqNbQ-w">透過這種方式後端則必須暫存...