pikachu漏洞平台之CSRF


CSRF簡介

CSRF 是 Cross Site Request Forgery 的 簡稱,中文名為跨域請求偽造
在CSRF的攻擊場景中,攻擊者會偽造一個請求(一般是一個鏈接)
然后欺騙目標用戶進行點擊,用戶一旦點擊了這個請求,這個攻擊也就完成了
所以CSRF攻擊也被稱為“one click”攻擊

 

CSRF和XSS區別

XSS目標在於獲取用戶cookie,利用cookie偽裝為受害者身份進行登錄進而造成破壞,

CSRF並沒有獲取到用戶的權限,而是利用用戶的權限執行我們的payload進行攻擊

 

1.CSRF(get實驗)

首先我們先登錄

 

 

 我們先將地址隨意修改一個值,然后通過brup suite抓包查看一下,從get提交里面發現請求連同信息都包含在了url里面,包括敏感信息,這時假如我是攻擊者,我在這個平台上申請一個賬號,然后修改密碼,通過這樣抓包我就獲取到了這個get請求,稍作修改我就可以將其變成一個鏈接,發給lucy后就可以把他的信息修改了。

 

 

 例如我現在偽造一個鏈接192.168.42.122/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=12345678922&add=zhangjiakou&email=lucy%40pikachu.com&submit=submit

現在我們將地址修改為zhangjiakou 把這穿鏈接讓lucy點擊就可以了

 

 

 輸入這個鏈接后,地址已經被修改了。

2.CSRF(post實驗)

還是像之前一樣登錄進去先修改一次信息,抓包查看

 

 

 這次我們發現post提交並沒有將敏感信息放在url中提交,而是放在了最下面的表單中提交。我們這次的思路是和xss post一樣偽造一個表單頁面,讓用戶點擊然后修改用戶信息

 

 

 

 

 這是我們偽造的頁面代碼,我們把這個html放在www目錄下,只要用戶點擊這個頁面的鏈接,我們就可以將其地址信息修改為hacker

 

 

3.CSRF(token)

打開CSRF(token)登錄后,我們修改信息抓包后發現,url中多了token一串字符,token是隨機生成的,如果后台是對比token的值來操作的話,我們就無法偽造url了。

 

 

 

 

 

 

防護:

  • 增加Token驗證(常用做法)
    • 對關鍵操作增加Token參數,token必須隨機,每次都不一樣
  • 關於安全的會話管理(避免會話被利用)
    • 不要在客戶端保存敏感信息(比如身份驗證信息)
    • 退出、關閉瀏覽器時的會話過期機制
    • 設置會話過機制,比如15分鍾無操作,則自動登錄超時
  • 訪問控制安全管理
    • 敏感信息的修改時需要身份進行二次認證,比如修改賬號密碼,需要判斷舊密碼
    • 敏感信息的修改使用POST,而不是GET
    • 通過HTTP頭部中的REFERER來限制原頁面
  • 增加驗證碼
    • 一般在登錄(防暴力破解),也可以用在其他重要信息操作的表單中(需要考慮可用性)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM