首頁常見問題正文

CSRF攻擊原理與解決方法【軟件測(cè)試培訓(xùn)】

更新時(shí)間:2022-08-19 來源:黑馬程序員 瀏覽量:

  CSRF(Cross-Site Request Forgery)為跨站請(qǐng)求偽造,它是一種針對(duì)Web應(yīng)用程序的攻擊方式,攻擊者利用CSRF漏洞偽裝成受信任用戶的請(qǐng)求訪問受攻擊的網(wǎng)站。在CSRF攻擊中,當(dāng)用戶訪問一個(gè)信任網(wǎng)站時(shí),在沒有退出會(huì)話的情況下,攻擊者誘使用戶點(diǎn)擊惡意網(wǎng)站,惡意網(wǎng)站會(huì)返回攻擊代碼,同時(shí)要求訪問信任網(wǎng)站,這樣用戶就在不知情的情況下將惡意網(wǎng)站的代碼發(fā)送到了信任網(wǎng)站,其過程如圖5-3所示。

1660881589112_CSRF攻擊過程.jpg

  圖5-3 CSRF攻擊過程

  CSRF的攻擊過程與XSS攻擊過程類似,不同之處在于,XSS是盜取用戶信息偽裝成用戶執(zhí)行惡意活動(dòng),而CSRF則是通過用戶向網(wǎng)站發(fā)起攻擊。如果將XSS攻擊過程比喻為小偷偷取了用戶的身份證去辦理非法業(yè)務(wù),那CSRF攻擊則是騙子“劫持”了用戶,讓用戶自己去辦理非法業(yè)務(wù),以達(dá)到自己的目的。

  CSRF漏洞產(chǎn)生的原因主要是對(duì)用戶請(qǐng)求缺少更安全的驗(yàn)證機(jī)制。防范CSRF漏洞的主要思路就是加強(qiáng)后臺(tái)對(duì)用戶及用戶請(qǐng)求的驗(yàn)證,而不能僅限于Cookie的識(shí)別。例如,使用HTTP請(qǐng)求頭中的Referer對(duì)網(wǎng)站來源進(jìn)行身份校驗(yàn),添加基于當(dāng)前用戶身份的token驗(yàn)證,在請(qǐng)求數(shù)據(jù)提交前,使用驗(yàn)證碼填寫方式驗(yàn)證用戶來源,防止未授權(quán)的惡意操作。

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!