《網絡安全學習》 第九部分----CSRF(跨站請求僞造)漏洞詳解

跨站請求僞造(也稱爲XSRF,CSRF和跨站點參考僞造)通過利用站點對用戶的信任來工作。站點任務通常鏈接到特定URL(例如:http://site/stocks?buy = 100&stock = ebay),允許在請求時執行特定操作。如果用戶登錄到站點並且攻擊者欺騙他們的瀏覽器向這些任務URL之一發出請求,則執行任務並以登錄用戶身份登錄。通常,攻擊者會將惡意HTML或JavaScript代碼嵌入到電子郵件或網站中,在用戶不知情的情況下,直接或通過利用跨站點腳本缺陷,來執行的特定“任務URL”。

執行CSRF攻擊的常見方法有哪些?

執行CSRF攻擊的最常用方法是使用HTML圖像標記或JavaScript圖像對象。通常,攻擊者會將這些內容嵌入到電子郵件或網站中,因此當用戶加載頁面或電子郵件時,他們會對攻擊者喜歡的任何URL執行Web請求。

CSRF攻擊攻擊原理及過程如下:

   1. 用戶打開瀏覽器,訪問受信任網站A,輸入用戶名和密碼請求登錄網站A;
   2.在用戶信息通過驗證後,網站A產生Cookie信息並返回給瀏覽器,此時用戶登錄網站A成功,可以正常發送請求到網站A;
   3. 用戶未退出網站A之前,在同一瀏覽器中,訪問木馬網站B;
   4. 網站B接收到用戶請求後,返回一些攻擊性代碼,併發出一個請求要求訪問第三方站點A;
   5.這個時候攻擊者就可以替代用戶進行一系列的操作,從而發生CSRF隱患

實戰CSRF:

這裏提供一個靶場:進入靶場 ,裏面可以模擬一下常見的漏洞。賬號:admin 密碼:password

在這裏插入圖片描述
1>. 首先我們選擇CSRF,進行演練CSRF漏洞
2>. 然後輸入新密碼和確認密碼,進行修改。
3>.點擊提交後,瀏覽器地址會發生改變.
在這裏插入圖片描述
4>.這裏我們可以看出這是一個get請求,並且是明文傳輸。
5>.接下來,我們創建一個html文件,來模擬木馬網站B,這個超鏈接可以將密碼修改位admin

<html>

<head>
<title>csrf</title>
</head>

<body>
<a href=http://43.247.91.228:81/vulnerabilities/csrf/?password_new=admin&password_conf=admin&Change=Change#>觸發csrf</a>
</body>

</html>

6>.然後我們用瀏覽器,打開這個html,並點擊
在這裏插入圖片描述
7.結果如下:我們可以看到成功的將密碼修改了。
在這裏插入圖片描述
8.然後用修改後的密碼可以成功登陸,這就說明網站存在CSRF漏洞(用另一個網站修改其他網站的密碼)

CSRF的防禦:

  • 驗證Referer
  • 使用驗證碼
  • 使用CFRF-TOKEN(推薦)
  • 現視Session的生命週期

【網絡安全學習】系列教程

《網絡安全學習》第一部分-----初識OWASP
《網絡安全學習》第二部分-----SQL注入學習
《網絡安全學習》第三部分-----XSS攻擊系列學習
《網絡安全學習》第四部分-----SSRF服務器端請求僞造
《網絡安全學習》第五部分-----遠程代碼執行漏洞
《網絡安全學習》 第六部分-----文件上傳漏洞
《網絡安全學習》 第七部分-----跨域資源共享(CORS)漏洞
《網絡安全學習》 第八部分-----《網絡安全學習》 第八部分-----越權漏洞詳解
《網絡安全學習》 第九部分----CSRF(跨站請求僞造)漏洞詳解

參考資料:
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)
https://www.cgisecurity.com/csrf-faq.html#

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章