GraphQL 跨站请求伪造

medium Web App Scanning 插件 ID 112920

简介

GraphQL 跨站请求伪造

描述

GraphQL 是一种适用于 API 的开源查询和操纵语言,也是为处理对应用程序数据集的这些查询而构建的服务器端运行时。GraphQL 服务器通常允许 `application/json` 以外的其他 `Content-Type` 标头值,以及查询和变更的基于 GET 的请求。攻击者利用此问题可实现跨站请求伪造 (CSRF) 攻击,经身份验证的用户则可利用此漏洞,在目标 GraphQL 端点上执行任意操作。

解决方案

应用程序应更新为至少提供 GraphQL 端点上的 anti-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

插件详情

严重性: 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

CVSS v4

风险因素: Medium

Base Score: 5.1

Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N

CVSS 分数来源: Tenable

参考资料信息