我们可以使用chrome控制台从网站获取CSRF令牌吗

问题描述 投票:0回答:1

由于 CSRF 令牌存储在网站的前端,是否可以使用某些脚本访问它们,或者它们是否是人类可读的。此外,攻击者的恶意脚本是否可以从合法用户的浏览器访问 CSRF 令牌,并发送攻击者想要的新请求。如果是,我们如何确保它?

致力于在我的系统中实现 CSRF 令牌。

security testing csrf web-development-server
1个回答
0
投票

由于 CSRF 令牌存储在网站的前端,是否可以使用某些脚本访问它们,或者它们是否是人类可读的。

是的,当然。人类可读与否无关紧要...唯一相关的部分是提交表单时可以将正确的数据发送回服务器。通常,这只是一些文字值,但也可以在客户端计算。无论哪种方式,都有可能获得客户端。

此外,攻击者的恶意脚本是否可以从合法用户的浏览器访问 CSRF 令牌,并发送攻击者想要的新请求。

是的,当然。无论如何,谁能说清楚什么是“合法”用户呢?当然代码无法确定这一点。您必须围绕您(人类)认为合法的内容构建一个系统。

如果是,我们如何确保它?

CSRF 攻击与验证请求是否来自人类用户或脚本无关。这不是 CSRF 代币试图解决的问题。

CSRF 令牌的唯一用途是防止来自其他源(或者更确切地说,无法获取令牌的源)的请求代表合法源上的用户提交数据。这曾经是一个问题,依赖 cookie 进行身份验证,但当发布来自不同来源的表单时,会提交 cookie。坦率地说,如果您以不依赖 cookie 进行身份验证的方式构建 API,并且如果您使用正确的方法(如

PUT
POST
)来更改数据,那么您就不会这样做没有问题需要担心。

© www.soinside.com 2019 - 2024. All rights reserved.