六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

CSRF是什么?CSRF的危害以及防備方法

[摘要]本篇文章給大家?guī)淼膬?nèi)容是關(guān)于CSRF是什么?CSRF的危害以及防御方法,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。什么是 CSRF在了解 CSRF 之前我們需要科普兩個前提。首先是登錄權(quán)限驗證的方式有很多種,目前絕大多數(shù)網(wǎng)站采用的還是 session 會話任務(wù)的方式。ses...
本篇文章給大家?guī)淼膬?nèi)容是關(guān)于CSRF是什么?CSRF的危害以及防御方法,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

什么是 CSRF

在了解 CSRF 之前我們需要科普兩個前提。首先是登錄權(quán)限驗證的方式有很多種,目前絕大多數(shù)網(wǎng)站采用的還是 session 會話任務(wù)的方式。session 機(jī)制簡單的來說就是服務(wù)端使用一個鍵值對記錄登錄信息,同時在 cookie 中將 session id(即剛才說的鍵)存儲到 cookie 中。另外我們又知道瀏覽器中 HTTP(s) 請求是會自動幫我們把 cookie 帶上傳給服務(wù)端的。這樣在每次請求的時候通過 cookie 獲取 session id,然后通過它在服務(wù)端獲取登錄信息即可完成用戶權(quán)限的校驗。

本來這也是個不錯的功能。但是由于 cookie 實在是太開放了,如果一個用戶在 A 網(wǎng)站登錄了,如果用戶在 B 網(wǎng)站訪問的時候發(fā)送了一個 A 網(wǎng)站的請求,那么這個請求其實是帶有這個用戶在 A 網(wǎng)站的登錄信息的。如果這時候 B 站的 A 網(wǎng)站請求是用戶不知道的,那就是非常嚴(yán)重的危害了。以上的過程就是跨站請求攻擊,即 Cross-Site Request Forgery,即 CSRF。

CSRF 的危害

簡單總結(jié) CSRF 漏洞就是利用網(wǎng)站權(quán)限校驗方面的漏洞在用戶不知覺的情況下發(fā)送請求,達(dá)到“偽裝”用戶的目的。攻擊者利用 CSRF 實現(xiàn)的攻擊主要有以下幾種:

攻擊者能夠欺騙受害用戶完成該受害者所允許的任一狀態(tài)改變的操作,比如:更新賬號細(xì)節(jié),完成購物,注銷甚至登錄等操作

獲取用戶的隱私數(shù)據(jù)

配合其他漏洞攻擊

CSRF 蠕蟲

其中 CSRF 蠕蟲如其名所指就是產(chǎn)生蠕蟲效果,會將 CSRF 攻擊一傳十,十傳百。如:某社區(qū)私信好友的接口和獲取好友列表的接口都存在CSRF漏洞,攻擊者就可以將其組合成一個CSRF蠕蟲——當(dāng)一個用戶訪問惡意頁面后通過CSRF獲取其好友列表信息,然后再利用私信好友的CSRF漏洞給其每個好友發(fā)送一條指向惡意頁面的信息,只要有人查看這個信息里的鏈接,CSRF蠕蟲就會不斷傳播下去,其可能造成的危害和影響非常巨大!

防御方法

從上文的描述中我們可以知道 CSRF 有兩個特點:利用 cookie 自動攜帶的特性以及跨站攻擊。那么針對這兩個特性可以使用如下解決方法。

檢查 Referer 字段

大家都知道 HTTP 頭中有一個 Referer 字段,這個字段用以標(biāo)明請求來源于哪個地址。通過在網(wǎng)站中校驗請求的該字段,我們能知道請求是否是從本站發(fā)出的。我們可以拒絕一切非本站發(fā)出的請求,這樣避免了 CSRF 的跨站特性。

const { parse } = require('url');module.exports = class extends think.Logic {
  indexAction() {
    const referrer = this.ctx.referrer();
    const {host: referrerHost} = parse(referrer);
    if(referrerHost !== 'xxx') {
        return this.fail('REFERRER_ERROR');
    }
  }}

同樣以 ThinkJS 為例,只要在 Logic 中簡單判斷下即可。這種方式利用了客戶端無法構(gòu)造 Referrer 的特性,雖然簡單,不過當(dāng)網(wǎng)站域名有多個,或者經(jīng)常變換域名的時候會變得非常的麻煩,同時也具有一定的局限性。

Token 驗證

由于 CSRF 是利用了瀏覽器自動傳遞 cookie 的特性,另外一個防御思路就是校驗信息不通過 cookie 傳遞,在其他參數(shù)中增加隨機(jī)加密串進(jìn)行校驗。這里又有兩種辦法:

隨機(jī)字符串:為每一個提交增加一個隨機(jī)串參數(shù),該參數(shù)服務(wù)端通過頁面下發(fā),每次請求的時候補(bǔ)充到提交參數(shù)中,服務(wù)端通過校驗該參數(shù)是否一致來判斷是否是用戶請求。由于 CSRF 攻擊中攻擊者是無從事先得知該隨機(jī)字符串的值,所以服務(wù)端就可以通過校驗該值拒絕可以請求。

JWT:實際上除了 session 登錄之外,現(xiàn)在越來越流行 JWT token 登錄校驗。該方式是在前端記錄登錄 token,每次請求的時候通過在 Header 中添加認(rèn)證頭的方式來實現(xiàn)登錄校驗過程。由于 CSRF 攻擊中攻擊者無法知道該 token 值,通過這種方式也是可以防止 CSRF 攻擊的。當(dāng)然 token 登錄方式除了 JWT 之外還有 OAuth 等很多種方式。

以上就是CSRF是什么?CSRF的危害以及防御方法的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


網(wǎng)站建設(shè)是一個廣義的術(shù)語,涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。




主站蜘蛛池模板: 青青热久免费精品视频网站 | 日韩亚洲欧美视频 | 色噜噜狠狠在爱丁香 | 日产精品一区到六区免费 | 日韩欧美高清在线观看 | 三级视频在线观看 | 中文字幕色婷婷在线视频 | 亚洲成a v人片在线看片 | 青青草原国产 | 天天插天天射天天干 | 伊人2233 | 天天色天天射天天干 | 日日天干夜夜人人添 | 天天摸夜夜添狠狠添2018 | 四虎影院精品在线观看 | 亚洲国产高清在线精品一区 | 日韩精品成人免费观看 | 亚洲 欧美 另类 综合 日韩 | 午夜久久网| 天天晚上干白天干 | 青青草人人 | 午夜在线观看视频 | 视频一区在线播放 | 一二三四视频社区在线网 | 日韩中文字幕一区 | 一二三四免费观看在线8 | 三级在线视频 | 手机在线看片日韩 | 欧美整片第一页 | 亚洲精品色婷婷在线影院麻豆 | 亚洲婷婷综合中文字幕第一页 | 特黄色一级片 | 亚洲精品国产v片在线观看 亚洲精品高清在线观看 | 深夜爽爽福利gif在线观看 | 手机看片自拍自拍自拍自视频 | 天天久久狠狠色综合 | 日韩欧美高清 | 日本不卡免费新一二三区 | 日韩推理片在线免费看网站 | 午夜毛片不卡高清免费 | 五月婷亚洲 |