CSRF(Cross-site request forgery)跨站請(qǐng)求偽造
概念: 是指黑客引誘用戶打開黑客的網(wǎng)站,在黑客的網(wǎng)站中,利用用戶的登錄狀態(tài)發(fā)起的跨站請(qǐng)求。簡(jiǎn)單來(lái)講,CSRF 攻擊指黑客利用了用戶的登錄狀態(tài),并通過第三方的站點(diǎn)來(lái)做一些壞事。
攻擊方式:
1-自動(dòng)發(fā)起 Get 請(qǐng)求
比如將轉(zhuǎn)賬請(qǐng)求隱藏在 img 標(biāo)簽內(nèi), 欺騙瀏覽器這是一張圖片, 等加載時(shí), 再發(fā)起轉(zhuǎn)賬請(qǐng)求
2-自動(dòng)發(fā)起 POST 請(qǐng)求
網(wǎng)頁(yè)內(nèi)構(gòu)建隱藏表單, 里面含有轉(zhuǎn)賬接口. 通過誘導(dǎo)用戶登陸的方式, 來(lái)讓表單自動(dòng)提交, 從而執(zhí)行轉(zhuǎn)賬操作.
3-引誘用戶點(diǎn)擊鏈接
通過誘導(dǎo)用戶點(diǎn)擊含有轉(zhuǎn)賬接口的鏈接, 來(lái)實(shí)現(xiàn)用戶資金的轉(zhuǎn)移.
綜上, CSRF攻擊不需要將惡意代碼注入用戶的頁(yè)面, 而是利用服務(wù)器的漏洞和用戶的登錄狀態(tài)來(lái)實(shí)現(xiàn)出乎意料的攻擊.
如何防止 CSRF 攻擊:
發(fā)起 CSRF 攻擊的三個(gè)必要條件:
1-目標(biāo)網(wǎng)站要有 CSRF 漏洞
2-用戶要登錄過目標(biāo)站點(diǎn), 并且在瀏覽器上保持有該站點(diǎn)的登錄狀態(tài)
3-需要用戶打開一個(gè)第三方站點(diǎn), 可以是黑客的站點(diǎn), 也可以是一些論壇
滿足以上三個(gè)條件, 黑客就可以進(jìn)行 CSRF 攻擊了.
如何讓服務(wù)器避免遭受到 CSRF 攻擊, 通常有以下幾種途徑:
1-充分利用好 Cookie 的 SameSite 屬性
設(shè)定 Cookie 中的 SameSite 屬性來(lái)實(shí)現(xiàn)對(duì)某些關(guān)鍵 Cookie 數(shù)據(jù)的傳送
2-驗(yàn)證請(qǐng)求的來(lái)源站點(diǎn)
通過設(shè)定HTTP請(qǐng)求頭中的Referer和Origin屬性來(lái)判斷是否禁止第三方站點(diǎn)的請(qǐng)求
3-CSRF Token
在向服務(wù)器發(fā)起請(qǐng)求時(shí), 服務(wù)器生成一個(gè) CSRF Token. 若用戶端要發(fā)起轉(zhuǎn)賬請(qǐng)求, 則需要帶上這個(gè)Token, 同時(shí) 服務(wù)器 會(huì)檢驗(yàn)該 Token 是否合法, 若是第三方發(fā)起的請(qǐng)求, 沒有或者非法都會(huì)導(dǎo)致拒絕.文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-504475.html
參考: 極客時(shí)間-瀏覽器工作原理與實(shí)踐文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-504475.html
到了這里,關(guān)于瀏覽器基礎(chǔ)原理-安全: CSRF攻擊的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!