(1)概念
CSRF 攻擊指的是跨站請(qǐng)求偽造攻擊,攻擊者誘導(dǎo)用戶進(jìn)入一個(gè)第三方網(wǎng)站,然后該網(wǎng)站向被攻擊網(wǎng)站發(fā)送跨站請(qǐng)求。如果用戶在被攻擊網(wǎng)站中保存了登錄狀態(tài),那么攻擊者就可以利用這個(gè)登錄狀態(tài),繞過后臺(tái)的用戶驗(yàn)證,冒充用戶向服務(wù)器執(zhí)行一些操作。
CSRF 攻擊的本質(zhì)是利用 cookie 會(huì)在同源請(qǐng)求中攜帶發(fā)送給服務(wù)器的特點(diǎn),以此來實(shí)現(xiàn)用戶的冒充。
(2)攻擊類型
常見的 CSRF 攻擊有三種:
GET 類型的 CSRF 攻擊,比如在網(wǎng)站中的一個(gè) img 標(biāo)簽里構(gòu)建一個(gè)請(qǐng)求,當(dāng)用戶打開這個(gè)網(wǎng)站的時(shí)候就會(huì)自動(dòng)發(fā)起提交。
POST 類型的 CSRF 攻擊,比如構(gòu)建一個(gè)表單,然后隱藏它,當(dāng)用戶進(jìn)入頁面時(shí),自動(dòng)提交這個(gè)表單。
鏈接類型的 CSRF 攻擊,比如在 a 標(biāo)簽的 href 屬性里構(gòu)建一個(gè)請(qǐng)求,然后誘導(dǎo)用戶去點(diǎn)擊。