跨站请求伪造

medium Web App Scanning 插件 ID 98112

简介

跨站请求伪造

描述

当经过身份验证的用户受到诱骗点击链接时,该链接会在未经用户同意的情况下自动提交请求,进而导致跨站请求伪造 (CSRF) 漏洞。

如果请求中不包含每次访问请求时生成,并在提交请求时传递的反 CSRF 标记,Web 应用程序后端就可以使用该令牌来验证请求是否源自合法用户,这样就可以做到这一点。

如要利用容易受到跨站请求伪造攻击的请求,就需要不同的因素:

- 请求必须执行敏感操作。

- 受害者必须拥有活动会话。

- 攻击者必须让受害者点击链接,才能在未经受害者同意的情况下发送请求。

扫描程序检测到一个仅提供给经过身份验证的用户的请求,其中的所有参数均为已知或可预测状态。因此,该请求可能容易遭受 CSRF 攻击。

可能需要手动验证以检查提交是否随后将执行敏感操作,例如重置密码、修改用户配置文件、在论坛上发布内容等。

解决方案

在经身份验证的会话中以任何敏感形式添加对 anti-CSRF 标记的支持,即可更新应用程序。
大部分 Web 框架或会提供内置解决方案,或会内含插件,以便轻松将这些标记添加到任何表单。检查为大多数已知框架提供的可能解决方案的引用。

另见

http://en.wikipedia.org/wiki/Cross-site_request_forgery

http://www.cgisecurity.com/csrf-faq.html

https://codex.wordpress.org/WordPress_Nonces

https://docs.djangoproject.com/en/1.11/ref/csrf/

https://docs.joomla.org/How_to_add_CSRF_anti-spoofing_to_forms

https://symfony.com/doc/current/form/csrf_protection.html

https://www.drupal.org/docs/7/security/writing-secure-code/create-forms-in-a-safe-way-to-avoid-cross-site-request-forgeries

https://www.nccgroup.trust/globalassets/our-research/us/whitepapers/csrf_paper.pdf

https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)

https://www.owasp.org/index.php/Testing_for_CSRF_(OTG-SESS-005)

插件详情

严重性: Medium

ID: 98112

类型: remote

发布时间: 2017/3/31

最近更新时间: 2024/6/26

扫描模板: full, pci, scan

风险信息

VPR

风险因素: Medium

分数: 4.2

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

参考资料信息