Web安全技術(shù) 課件 4CSRF攻擊_第1頁
Web安全技術(shù) 課件 4CSRF攻擊_第2頁
Web安全技術(shù) 課件 4CSRF攻擊_第3頁
Web安全技術(shù) 課件 4CSRF攻擊_第4頁
Web安全技術(shù) 課件 4CSRF攻擊_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第3章CSRF攻擊及防護(hù)01CSRF的基礎(chǔ)知識(shí)02CSRF漏洞利用場景03CSRF防護(hù)方案目錄CONTENTSCSRF基礎(chǔ)知識(shí)CSRF攻擊CSRF攻擊的原理CSRF基礎(chǔ)知識(shí)CSRF攻擊CSRF攻擊實(shí)例CSRF基礎(chǔ)知識(shí)CSRF攻擊CSRF攻擊實(shí)例CSRF基礎(chǔ)知識(shí)CSRF攻擊CSRF攻擊實(shí)例當(dāng)攻擊者要偽造當(dāng)前用戶身份并提交一條留言,主要流程如下:偽造一個(gè)頁面誘使當(dāng)前用戶點(diǎn)擊以實(shí)現(xiàn)觸發(fā)CSRF基礎(chǔ)知識(shí)CSRF攻擊CSRF攻擊實(shí)例CSRF基礎(chǔ)知識(shí)CSRF攻擊CSRF攻擊實(shí)例CSRF基礎(chǔ)知識(shí)CSRF攻擊CSRF攻擊的原理CSRF基礎(chǔ)知識(shí)CSRF攻擊CSRF攻擊的原理

CSRF(Cross-SiteRequestForgery)跨站請(qǐng)求偽造,完全不同于XSS攻擊。XSS攻擊側(cè)重于獲取用戶的權(quán)限及信息,而CSRF則是攻擊者可偽造當(dāng)前用戶的行為,讓目標(biāo)服務(wù)器誤以為請(qǐng)求由當(dāng)前用戶發(fā)起,并利用當(dāng)前用戶權(quán)限實(shí)現(xiàn)業(yè)務(wù)請(qǐng)求偽造。

可見,CSRF側(cè)重于偽造特定用戶的請(qǐng)求。CSRF基礎(chǔ)知識(shí)CSRF攻擊CSRF攻擊的原理

觀察上述的漏洞基本利用流程可以發(fā)現(xiàn),要想攻擊形成有效的CSRF攻擊,必須滿足三個(gè)條件:

1.用戶處于登錄狀態(tài)

2.偽造的鏈接與正常應(yīng)用請(qǐng)求鏈接一致

3.后臺(tái)未對(duì)用戶業(yè)務(wù)開展合法性檢查

只要三個(gè)要素同時(shí)存在,則漏洞方可利用成功。尤其需要注意的是,用戶必須在登錄狀態(tài)時(shí)點(diǎn)擊偽造的頁面。01CSRF的基礎(chǔ)知識(shí)02CSRF漏洞利用場景03CSRF防護(hù)方案目錄CONTENTSCSRF漏洞利用場景CSRF攻擊

經(jīng)過對(duì)CSRF漏洞實(shí)例的分析可知,這類漏洞在利用方面條件比較苛刻,因?yàn)楸仨氃谟脩舻卿浀那闆r下,由用戶主動(dòng)點(diǎn)擊偽造鏈接,方可觸發(fā)漏洞。也正是由于這個(gè)特點(diǎn),很多人會(huì)忽視CSRF攻擊帶來的危害。在真實(shí)場景下,如果CSRF被利用,很可能會(huì)帶來巨大的安全隱患。如:當(dāng)用戶是管理員時(shí),如果存在CSRF漏洞,則攻擊者可根據(jù)業(yè)務(wù)功能特點(diǎn)構(gòu)造語句,在管理員不知情的情況下發(fā)起某項(xiàng)業(yè)務(wù)請(qǐng)求(如添加賬號(hào)、刪除某篇文章等),并且攻擊者構(gòu)造的請(qǐng)求會(huì)以當(dāng)前管理員的身份發(fā)出并執(zhí)行。針對(duì)個(gè)人用戶,如果CSRF漏洞配合存儲(chǔ)型XSS漏洞,可實(shí)現(xiàn)在當(dāng)前用戶頁面上嵌入攻擊偽造鏈接,從而大大增加用戶點(diǎn)擊的可能性,形成觸發(fā)攻擊的隱患。在部分管理系統(tǒng)中,考慮到用戶使用系統(tǒng)的便利性,可以在后臺(tái)Web頁面上開發(fā)特定功能來實(shí)現(xiàn)針對(duì)管理系統(tǒng)的參數(shù)調(diào)整。每次在針對(duì)管理系統(tǒng)進(jìn)行參數(shù)調(diào)整時(shí),都會(huì)向服務(wù)器發(fā)起一次請(qǐng)求。因此,如果CSRF偽造管理的高危管理功能并誘導(dǎo)管理員執(zhí)行,那么會(huì)對(duì)當(dāng)前系統(tǒng)造成非常大的危害。01CSRF的基礎(chǔ)知識(shí)02CSRF漏洞利用場景03CSRF防護(hù)方案目錄CONTENTSCSRF防護(hù)方案CSRF攻擊

CSRF一般是由于Web系統(tǒng)對(duì)當(dāng)前用戶身份的驗(yàn)證不足而造成的,比如目標(biāo)站點(diǎn)并未對(duì)提交的請(qǐng)求做合法性檢查,導(dǎo)致任何請(qǐng)求均可執(zhí)行。盡管攻擊的呈現(xiàn)方式千變?nèi)f化,但歸根結(jié)底都是沒有充分驗(yàn)證當(dāng)前業(yè)務(wù)的合法性導(dǎo)致的。

因此常用的防護(hù)手段重點(diǎn)在于為關(guān)鍵業(yè)務(wù)點(diǎn)添加合理的驗(yàn)證方式,以實(shí)現(xiàn)對(duì)用戶合法身份的二次確認(rèn)。

下面介紹幾種有效的防護(hù)手段。CSRF防護(hù)方案CSRF攻擊

由于攻擊者只能仿冒用戶發(fā)起請(qǐng)求,并不能接收服務(wù)器的響應(yīng)內(nèi)容,因此可在請(qǐng)求被執(zhí)行前添加防護(hù)措施。主要思路為在發(fā)起關(guān)鍵業(yè)務(wù)的請(qǐng)求時(shí),多添加一步驗(yàn)證環(huán)節(jié),并且保證驗(yàn)證環(huán)節(jié)的內(nèi)容無法被攻擊者獲取,從而有效避免攻擊者偽造請(qǐng)求的情況。常見的方式有以下兩種:

(1)添加驗(yàn)證過程

CSRF漏洞可成功利用的一個(gè)顯著特點(diǎn)是攻擊者偽造的用戶請(qǐng)求會(huì)被服務(wù)器實(shí)際執(zhí)行。為此,最有效的手段就是在其中添加一個(gè)中間過程,如讓用戶確認(rèn),從而可以避免這類問題出現(xiàn)。添加中間環(huán)節(jié)CSRF防護(hù)方案CSRF攻擊添加中間環(huán)節(jié)CSRF防護(hù)方案CSRF攻擊

由于攻擊者只能仿冒用戶發(fā)起請(qǐng)求,并不能接收服務(wù)器的響應(yīng)內(nèi)容,因此可在請(qǐng)求被執(zhí)行前添加防護(hù)措施。主要思路為在發(fā)起關(guān)鍵業(yè)務(wù)的請(qǐng)求時(shí),多添加一步驗(yàn)證環(huán)節(jié),并且保證驗(yàn)證環(huán)節(jié)的內(nèi)容無法被攻擊者獲取,從而有效避免攻擊者偽造請(qǐng)求的情況。常見的方式有以下兩種:

(1)添加驗(yàn)證過程

CSRF漏洞可成功利用的一個(gè)顯著特點(diǎn)是攻擊者偽造的用戶請(qǐng)求會(huì)被服務(wù)器實(shí)際執(zhí)行。為此,最有效的手段就是在其中添加一個(gè)中間過程,如讓用戶確認(rèn),從而可以避免這類問題出現(xiàn)。

添加驗(yàn)證過程時(shí)需要注意,確認(rèn)流程應(yīng)由頁面接受后在前臺(tái)進(jìn)行顯示,不要利用純前端的技術(shù)來實(shí)現(xiàn),如利用JS代碼來實(shí)現(xiàn)上述功能,否則就會(huì)失去原有的意義。添加中間環(huán)節(jié)CSRF防護(hù)方案CSRF攻擊

(2)添加驗(yàn)證碼

在業(yè)務(wù)角度針對(duì)CSRF防護(hù)的另一種有效方式是添加驗(yàn)證碼機(jī)制。也就是說,用戶在提交內(nèi)容時(shí)需要輸入驗(yàn)證碼,利用驗(yàn)證碼來確認(rèn)是否為當(dāng)前用戶發(fā)起的請(qǐng)求。

驗(yàn)證碼對(duì)于CSRF攻擊防護(hù)效果良好,但是驗(yàn)證碼最好在關(guān)鍵的業(yè)務(wù)流程點(diǎn)使用。如果在業(yè)務(wù)流程中過多使用驗(yàn)證碼,會(huì)導(dǎo)致用戶體驗(yàn)嚴(yán)重下降,直接影響用戶的行為。添加中間環(huán)節(jié)CSRF防護(hù)方案CSRF攻擊

針對(duì)CSRF漏洞,在建設(shè)Web系統(tǒng)時(shí)一般會(huì)利用token來識(shí)別當(dāng)前用戶身份的真實(shí)性。Token在當(dāng)前用戶第一次訪問某項(xiàng)功能頁面時(shí)生成,且是一次性的,在生成完畢后由服務(wù)端發(fā)送給客戶端。用戶端接收到token之后,會(huì)在進(jìn)行下一步業(yè)務(wù)時(shí)提交token,并由服務(wù)器進(jìn)行有效性驗(yàn)證。由于攻擊者在CSRF利用時(shí)無法獲得當(dāng)前用戶的token,導(dǎo)致就算鏈接發(fā)送成功,也會(huì)由于沒有附帶token值,導(dǎo)致針對(duì)請(qǐng)求的驗(yàn)證發(fā)生錯(cuò)誤,當(dāng)前攻擊請(qǐng)求也就無法正常執(zhí)行。驗(yàn)證用戶請(qǐng)求合法性CSRF防護(hù)方案CSRF攻擊驗(yàn)證用戶請(qǐng)求合法性CSRF防護(hù)方案CSRF攻擊

生成token的方式非常靈活,可通過當(dāng)前時(shí)間、當(dāng)前用戶名+隨機(jī)數(shù)等多種方式生成。上例中利用10000以內(nèi)的隨機(jī)數(shù)的MD5值作為token。

根據(jù)當(dāng)前用戶提交的情況進(jìn)行token驗(yàn)證及更新。從上例中可以看到,在每次訪問之后都會(huì)進(jìn)行token更新。

在使用token時(shí)需要遵循以下原則:

(1)token

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論