GraphQL 跨網站要求偽造

medium Web App Scanning Plugin ID 112920

概要

GraphQL 跨網站要求偽造

說明

GraphQL 是一種適用於 API 的開放原始碼查詢和操控語言,而且是為處理應用程式資料集上的這些查詢而構建的伺服器端執行階段。GraphQL 伺服器通常允許 `application/json` 以外的其他 `Content-Type` 標頭值,以及用於查詢和變更的 GET 型要求。攻擊者可利用此弱點發動跨網站要求偽造 (CSRF) 攻擊,並使經驗證的使用者在目標 GraphQL 端點上執行任意動作。

解決方案

應將應用程式更新為至少可在 GraphQL 端點上提供防禦 CSRF 權杖管理,並將驗證 Cookie 上的 `SameSite` 屬性設定為 `Lax`。避免在對目標應用程式執行變更作業的要求中使用 GET 方法。

另請參閱

https://blog.doyensec.com/2021/05/20/graphql-csrf.html

https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html

Plugin 詳細資訊

嚴重性: Medium

ID: 112920

類型: remote

已發布: 2022/9/26

已更新: 2022/9/26

掃描範本: api, full, pci, scan

風險資訊

VPR

風險因素: Medium

分數: 4.9

CVSS v2

風險因素: High

基本分數: 7.5

媒介: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS 評分資料來源: Tenable

CVSS v3

風險因素: Medium

基本分數: 6.3

媒介: CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L

CVSS 評分資料來源: Tenable

參考資訊