CSRF漏洞

0X00:前言

CSRF:(Cross-site request forgery)跨站請求僞造,也被稱爲「One Click Attack」或者Session Riding,一般縮寫爲CSRF或者XSRF,是一種對網站的惡意利用。儘管聽起來像跨站腳本(XSS),但它與XSS很是不一樣,XSS利用站點內的信任用戶,而CSRF則經過假裝成受信任用戶的請求來利用受信任的網站。html

 

CSRF是借用用戶的權限完成攻擊,攻擊者沒有拿到受害者權限web

 

受害者必須在登陸狀態下,而且點擊了鏈接json

若是受害者不在登錄狀態,或者沒有點擊,則攻擊不成功瀏覽器

0X01:確認CSRF漏洞

(1)通常出如今對重要信息的修改(修改密碼等),服務器

 

(2)post

 測試環境DVWA,pikachu測試

0X02:CSRF  get

通常是攻擊者本身在網站建立帳號,修改要修改的信息,抓包,獲得url網站

 

 

 

referer是什麼東西呢???google

Referer  是  HTTP  請求header 的一部分,當瀏覽器(或者模擬瀏覽器行爲)向web 服務器發送請求的時候,頭信息裏有包含  Referer  。好比我在www.google.com 裏有一個www.baidu.com 連接,那麼點擊這個www.baidu.com ,它的header 信息裏就有:url

    Referer=http://www.google.com

由此能夠看出來吧。它就是表示一個來源。

(2)http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=admin741&password_conf=admin741&Change=Change#

攻擊者 只要把這個URL,內容修改一下,發給受害者,受害者點擊後,就會把密碼修改了,

 

 0X03:CSRF post

post須要藉助本身的站點,與XSS  post相似

 

抓包post參數後,放到本身服務器站點的URL中,讓受害者點擊本身搭建的URL,本身的服務器,在向正常的服務器提交帶有csrf payload的post請求,實現攻擊

 

 

0X04:利用Token防護CSRF

if($_GET['sex']!=null && $_GET['phonenum']!=null && $_GET['add']!=null && $_GET['email']!=null && $_GET['token']==$_SESSION['token'])

 

在每次提交的時候,都會生成一個必定長度而且隨機的數跟在URL中,每次點擊修改的時候會話中也會有Token,兩個比較

 

0Xff:總結

CSRF漏洞,攻擊成功條件比較多,因此不少人也不是很重視。看起來與XSS比較類似,可是存在本質差異,CSRF不須要得到用戶權限,還有其餘防護措施:驗證 HTTP Referer 字段;在請求地址中添加 token 並驗證;在 HTTP 頭中自定義屬性並驗證。

相關文章
相關標籤/搜索