北京做網(wǎng)站公司北京seo優(yōu)化方案
簡述:CSRF漏洞實際很少;條件限制很多;局限性很大;實驗僅供參考,熟悉csrf概念和攻擊原理即可
Pikachu靶場
CSRF GET
登錄用戶vince的賬戶可以看到用戶的相關(guān)信息;
點(diǎn)擊修改個人信息,發(fā)現(xiàn)數(shù)據(jù)包里除了cookie沒有任何其他驗證信息
通過右鍵Engagement tools選項找到生成csrf poc
將生成的poc復(fù)制放到html文件然后打開;或者直接選擇test in browser
注意:這里的payload是通過表單進(jìn)行提交的;GET請求時也可以直接構(gòu)造鏈接進(jìn)行誘導(dǎo)
如<a href="localhost/vul/csrf/csrfget/csrf_get_edit.php?sex=123&phonenum=123&add=123&email=123&submit=submit">iphone14抽獎立減3000元</a>
打開的頁面如下;只有一個確認(rèn)按鈕;剩下的選項被隱藏了;一旦點(diǎn)擊就會是用戶信息都改為123
CSRF POST
同上;登錄allen的賬號
同樣抓取修改信息的數(shù)據(jù)構(gòu)造csrf poc
同樣的訪問csrf頁面,點(diǎn)擊按鈕
點(diǎn)擊后發(fā)現(xiàn)用戶信息都被修改了
CSRF token
這關(guān)加了token驗證;普通流程過不去
登錄kobe賬戶;發(fā)現(xiàn)時GET方法;但是增加了token驗證;每次請求token值都不同;由服務(wù)器隨機(jī)分配的
同樣的利用bp生成poc
訪問鏈接
點(diǎn)擊惡意鏈接,發(fā)現(xiàn)用戶信息并未被修改;這是因為token驗證失敗的結(jié)果;
這說明對于CSRF攻擊token驗證就可以做到完美防御
繞過思路:可以利用bp插件繞過;下載csrf token trace插件
僅供實驗參考;實際不可用;由于瀏覽器設(shè)置了bp作為代理;所以能實現(xiàn)繞過
bp下載對應(yīng)插件
下載完成后對插件進(jìn)行設(shè)置
此時在點(diǎn)擊惡意鏈接發(fā)現(xiàn)用戶信息被修改了;這說明該插件在請求發(fā)送之前獲取了服務(wù)器的token值并對請求進(jìn)行了替換
DVWA 靶場 CSRF
LOW
登錄網(wǎng)站;點(diǎn)擊修改密碼;bp抓包;發(fā)現(xiàn)沒什么其他驗證;GET方法+cookie
通過右鍵工具生成csrf poc
測試poc
通過瀏覽器登錄驗證;發(fā)現(xiàn)密碼確實被修改為了123
Medium
同樣的方法;修改密碼;抓包查看數(shù)據(jù);發(fā)現(xiàn)跟LOW一樣
獲取csrf poc;
點(diǎn)擊鏈接
跳轉(zhuǎn)之后發(fā)現(xiàn);密碼未修改成功;后端進(jìn)行驗證了;推測時referer字段驗證(只有這一個不穩(wěn)定參數(shù))
通過修改referer字段的數(shù)據(jù)驗證了服務(wù)器確實檢測了該字段;只允許之前訪問域名中有該域名信息的鏈接訪問;防止惡意鏈接跳轉(zhuǎn)訪問
解決方法:
1.將文件名改成目標(biāo)ip地址或者域名
2.將文件放到含有目標(biāo)ip地址/域名的文件夾下
3.創(chuàng)建一個網(wǎng)站域名包含目標(biāo)站點(diǎn)的域名;然后把文件放到該網(wǎng)站根目錄下即可
方法1和方法2可能不成功;因為referer字段有時候不包含文件名(可能是瀏覽器設(shè)置或者網(wǎng)站安全策略的問題);如果只得到實驗結(jié)果的話可以手動對referer進(jìn)行修改
方法3是可以實現(xiàn)的;
通過小皮創(chuàng)建一個dvwa123的網(wǎng)站;因為我把dvwa網(wǎng)站的域名設(shè)為dvwa了;新建的域名包含目標(biāo)網(wǎng)站的域名,將生成的poc文件放到該網(wǎng)站根目錄下
再次訪問對應(yīng)的鏈接,通過抓包發(fā)現(xiàn)referer是不包含文件名的;
但是密碼被修改了
High
這關(guān)使用token驗證;不再驗證referer字段
使用插件繞過;設(shè)置插件配置用于獲取和替換目標(biāo)網(wǎng)站的token
配置完成后直接訪問poc鏈接;發(fā)現(xiàn)頁面跳轉(zhuǎn)了,但是沒有任何提示;通過登錄驗證發(fā)現(xiàn)密碼已經(jīng)修改了
總結(jié)
從這幾個案例中可以了解csrf的原理和危害已經(jīng)防御方法
條件:同一瀏覽器+同時打開至少兩個網(wǎng)站+保持登錄其中一個存在csrf漏洞的網(wǎng)站并在另一個網(wǎng)站中訪問了剛好針對該登錄網(wǎng)站的惡意鏈接
危害:個人數(shù)據(jù)被修改;資產(chǎn)消失等;現(xiàn)實這種漏洞實現(xiàn)條件苛刻,了解就行
防御方法:token驗證,驗證碼,瀏覽器同源策略,增加輸入原始密碼的選項(自定義驗證字段)等
10