CSRF 攻擊

概述

CSRF(Cross-site request forgery,跨站請求偽造)。

它是指攻擊者利用了用戶的身份信息,執行了用戶非本意的操作。

它首先引導用戶訪問一個危險網站,當用戶訪問網站后,網站會發送請求到被攻擊的站點,這次請求會攜帶用戶的cookie發送,因此就利用了用戶的身份信息完成攻擊。

image.png

防御方式

image.png

SameSite

SameSite 是一個與 HTTP 狀態碼和響應頭相關的屬性,用于定義瀏覽器如何處理跨站點請求。這個屬性主要用于防止跨站點請求偽造(CSRF,Cross-Site Request Forgery)攻擊,它允許服務器要求某些類型的 cookie 在跨站點請求中不被發送。

以下是 SameSite 屬性的幾種取值及其含義:

  1. Strict: 這種模式下,cookie 將不會被包含在任何跨站點請求中。也就是說,只有在請求的域與設置 cookie 的域完全一致時,cookie 才會被發送。

  2. Lax: 這種模式下,cookie 將被包含在頂層導航請求中,但不會在跨站點請求中被發送。例如,如果你從一個網站鏈接到另一個網站,瀏覽器會發送 cookie,但如果你嘗試通過 JavaScript 發起一個跨站點請求,cookie 則不會被發送。get 請求會攜帶 cookie,但是 post 請求不攜帶。

  3. None: 這種模式下,cookie 將被包含在跨站點請求中。如果你想讓 cookie 在跨站點請求中被發送,就需要將 SameSite 設置為 None,并且同時設置 Secure 屬性,以確保 cookie 只在 HTTPS 上傳輸。

從 Chrome 80 開始,默認的 SameSite 變更為 SameSite=Lax,這意味著如果你的服務器沒有明確設置 SameSite 屬性,那么瀏覽器將默認以 Lax 模式處理 cookie。

為了確保跨站點請求能夠正確地攜帶 cookie,你需要:

  • 設置 SameSite=None
  • 設置 Secure 屬性,確保 cookie 只在 HTTPS 上傳輸。

示例代碼:

Set-Cookie: key=value; SameSite=None; Secure

使用 CSRF Token

CSRF Token 是一種常見的防御機制,它要求每個請求都必須包含一個由服務器生成的、隨機的、唯一的 token。服務器在處理請求時會驗證這個 token 是否有效。具體步驟如下:

  1. 生成 Token: 當用戶登錄后,服務器生成一個 CSRF Token 并將其存儲在服務器端的會話中。
  2. 發送 Token: 服務器將 Token 發送給客戶端,并要求客戶端在后續的請求中包含這個 Token。
  3. 驗證 Token: 當客戶端發起請求時,服務器會檢查請求中是否包含 Token,并且驗證 Token 是否與服務器端存儲的 Token 匹配。

這種方法的關鍵在于,攻擊者無法預測 Token 的值,因此即使他們能夠誘導用戶點擊鏈接或提交表單,由于 Token 不匹配,請求也會被服務器拒絕。

image.png

比如這里我打開某網站,他就是使用的 csrfToken。

image.png

什么是CSRF?為什么CSRF Token寫在COOKIE里面?_csrf cookie-CSDN博客

使用 Referer 檢查

Referer 是 HTTP 請求頭中的一個字段,用于指示請求是從哪個頁面發起的。服務器可以通過檢查 Referer 來防御 CSRF 攻擊:

  1. 檢查 Referer: 服務器在處理請求時,檢查請求的 Referer 頭部,確認請求是否來自可信的來源。
  2. 驗證來源: 如果 Referer 頭部指向的是攻擊者的域名,服務器可以拒絕處理請求。

然而,這種方法有幾個局限性:

  • 用戶可能禁用了 Referer 頭部,或者瀏覽器設置可能導致 Referer 頭部不被發送。
  • 攻擊者可以構造請求,使其 Referer 頭部指向合法的來源。
  • 不能訪問 base64 編碼

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/15005.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/15005.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/15005.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

拼多多攜手中國農業大學,投建陜西佛坪山茱萸科技小院

5月16日下午,中國農業大學陜西佛坪山茱萸科技小院在佛坪縣銀廠溝村揭牌。佛坪縣素有“中國山茱萸之鄉”的美譽,是全國山茱萸三大基地之一,當地山茱萸是國家地理標志產品,山茱萸肉產量位居全國第二。 為充分發揮佛坪縣得天獨厚的山…

vscode快捷鍵mac快捷鍵

vscode快捷鍵 在 Visual Studio Code 中,可以使用「Ctrl D」快捷鍵來選中相同內容。還可以使用以下快捷鍵來操作: 向上/下選擇相同內容 Alt ↑/↓ 選擇所有相同內容 Ctrl Shift L mac中則是commandshiftL VSCode刪除整行快捷鍵 CtrlShiftK mac中則…

局部放電試驗變頻電源

局部放電試驗中的變頻電源設備 局部放電試驗變頻電源是一種專為電力設備的局部放電檢測設計的高性能電源系統。在電力設備的運行和維護過程中,局部放電測試用于探測潛在的絕緣缺陷,防止它們進一步惡化導致設備損壞。傳統的局部放電試驗通常使用交流電源&…

with關鍵字

在 Python 中,with 是一個關鍵字,用于引入一個上下文管理器(context manager)。上下文管理器是一種特殊的對象,它允許你以一種干凈、結構化的方式執行一組特定的操作,通常包括設置和清理資源。 with 語句通…

jmeter之測試計劃

一、測試計劃作用 測試計劃是jmeter的默認控件所有線程組都是測試計劃的下級控件測試計劃可以配置用戶自定義的變量測試計劃可以配置線程組的串行或并行 二、查看界面 名稱:可以修改自定義的名稱注釋:解釋測試計劃是用來做什么的用戶自定義的變量&…

Sentinel重要的前置知識

文章目錄 1、雪崩問題及解決方案1.1、雪崩問題1.2、超時處理1.3、倉壁模式1.4、斷路器1.5、限流1.6、總結 2、服務保護技術對比3、Sentinel介紹和安裝3.1、初識Sentinel3.2、安裝Sentinel 4、微服務整合Sentinel ?🍃作者介紹:雙非本科大三網絡工程專業在…

PX4使用yolo仿真環境搭建

文章目錄 前言一、修改機架sdf文件二、安裝yolo三、運行 前言 ubuntu20.04 PX4 1.13.3 已配置好PX4 ROS gazebo環境 一、修改機架sdf文件 將雙目相機加到仿真的iris機架上 修改下圖文件 添加如下&#xff1a; <include><uri>model://stereo_camera</uri>…

用nn.Sequential實現圖像的數據增強(augmentations)

代碼example: import torch import torch.nn as nn# 定義一些增強操作&#xff0c;例如隨機水平翻轉和歸一化 augmentations nn.Sequential(nn.RandomHorizontalFlip(),nn.Normalize(mean[0.5], std[0.5]) )# 創建一個示例 tensor candidate torch.randn(1, 3, 224, 224) #…

QWRT改AP模式 自動獲取IP

關閉&#xff08;禁用&#xff09;WAN 和 WAN6接口修改LAN接口 IP地址 改為上級路由的網段&#xff0c;如主路由器IP192.168.2.1&#xff0c;那么就設置為192.168.2.2&#xff08;不要沖突了&#xff09;IPv4 網關 改為上級路由的IP地址&#xff0c;如主路由器IP192.168.2.1&am…

使用 CapSolver API 服務解決 Arkose Labs FunCaptcha 驗證碼

使用 CapSolver API 服務解決 Arkose Labs FunCaptcha 驗證碼 FunCaptcha 以其復雜的圖像驗證而聞名&#xff0c;對自動化系統構成了巨大的挑戰。CapSolver 的 API 服務利用先進的 AI 技術輕松應對和解決 FunCaptcha 挑戰。本指南探討了 CapSolver 如何實現無縫自動化&#xff…

什么是html

HTML&#xff08;HyperText Markup Language&#xff0c;超文本標記語言&#xff09;是一種用于創建網頁的標準標記語言。它描述了一個網站的結構骨架&#xff0c;使得瀏覽器能夠展示具有特定格式的文本、鏈接、圖片和其他內容。HTML 文檔由一系列的元素構成&#xff0c;這些元…

STM32筆記-AD模數轉換

目錄 一、ADC介紹 二、ADC主要特征 三、ADC框圖 1. ???? 外部觸發轉換 ? 2. 轉換模式 3. 輸入通道 4. 邏輯框圖 四、校準 五、數據對齊 六、AD轉換步驟 七、AD_Init(單通道AD轉換)初始化函數配置 DMA: adc_dma_mode_enable(ADC0); 這段代碼是用來使能ADC的DMA&a…

ts 字符串不能做索引異常提示 type because expression of type ‘string‘

Element implicitly has an any type because expression of type string cant be used to index type 例子 let a{b:"1",c:"1" } var b"b"; let ca[b] let ca[b]就會爆這個錯誤&#xff0c;因為在編譯器看來b是一個未知的東西&#xff0c;它不…

什么是創造力?如何判斷自己的創造力?

創造力&#xff0c;主要表現為創新思想、發現和創造新事物的能力&#xff0c;是知識&#xff0c;智力和能力的綜合能力&#xff0c;尤其是在職業發展方面&#xff0c;創造力具有重要的意義&#xff0c;企業的核心競爭力就來源于創造力&#xff0c;這就需要具有創造力的員工來推…

ArduPilot開源飛控之MAVProxy深入研讀系列 - 1基本操作

ArduPilot開源飛控之MAVProxy深入研讀系列 - 1基本操作 1. 源由2. 基本操作2.1 二進制安裝2.2 源代碼安裝2.3 硬鏈接飛控2.4 軟連接飛控 3. 啟動參數3.1 輸入3.2 輸出3.3 日志3.4 交互3.5 其他 4. 參考資料 1. 源由 玩開源&#xff0c;就盡量不要用Windows/Android/iOS/MaxOS什…

【前端每日基礎】day30

iframe的優點和缺點 &#xff1f; 優點&#xff1a; 內容隔離&#xff1a; < iframe> 允許將另一個 HTML 文檔嵌入到當前頁面中&#xff0c;并在一個獨立的環境中展示。這種隔離性可以防止嵌入的內容對主頁面的樣式和功能造成影響。 模塊化&#xff1a; < iframe>…

【QGIS入門實戰精品教程】13.1:導入帶地理標簽的航測照片

文章目錄 一、數據準備二、導入帶地理標簽的航測照片三、導出點位shp四、生成航線一、數據準備 本實驗數據位于13.1:導入帶地理標簽的航測照片.rar中,如下: 查看照片及相機參數信息,航測照片都帶有相機參數、部分POS及地理坐標信息,如下所示: 二、導入帶地理標簽的航測照…

YoloV8改進策略:蒸餾改進|CWDLoss|使用蒸餾模型實現YoloV8無損漲點|特征蒸餾

摘要 在本文中&#xff0c;我們成功應用蒸餾策略以實現YoloV8小模型的無損性能提升。我們采用了CWDLoss作為蒸餾方法的核心&#xff0c;通過對比在線和離線兩種蒸餾方式&#xff0c;我們發現離線蒸餾在效果上更為出色。因此&#xff0c;為了方便廣大讀者和研究者應用&#xff…

大語言模型PEFT

目錄 一、PEFT的關鍵概念和方法 部分參數微調 概念 方法 優勢 適配器&#xff08;Adapters&#xff09; 方法 優勢 低秩分解&#xff08;Low-rank Factorization&#xff09; 方法 優勢 差分微調&#xff08;Delta Tuning&#xff09; 方法 優勢 多任務學習&…

政策及需求多因素驅動下 中國適老化改造市場空間大

政策及需求多因素驅動下 中國適老化改造市場空間大 適老化改造是為了提高老年人居住環境的舒適度和安全性&#xff0c;滿足老年人居住需求進行的建筑改造&#xff0c;根據住房和城鄉建設部城市建設司發布的《城市居家適老化改造指導手冊》可以將適老化改造分為基礎性改造和提升…