Web 我们应该检查CSRF令牌的只读操作吗

Web 我们应该检查CSRF令牌的只读操作吗,web,csrf,Web,Csrf,我听过很多人建议CSRF处理对于执行写操作的操作是强制性的,但是对于执行只读操作的操作是可选的 如果是,请分享一个示例,说明如何使用CSRF利用仅执行只读操作的操作。通常不必受到CSRF的保护,因为它们不会对应用程序进行更改(即,如您在问题中所述,它们是“只读的”),即使他们返回敏感信息,也会受到浏览器中的保护 如果您的站点是按照标准实现的,那么GET请求应该是安全的,因此不需要保护 但是,有一种特殊情况,即可以执行“跨站点DoS”*攻击。假设您的报告页面执行需要10秒,数据库服务器上的CPU使

我听过很多人建议CSRF处理对于执行写操作的操作是强制性的,但是对于执行只读操作的操作是可选的

如果是,请分享一个示例,说明如何使用CSRF利用仅执行只读操作的操作。

通常不必受到CSRF的保护,因为它们不会对应用程序进行更改(即,如您在问题中所述,它们是“只读的”),即使他们返回敏感信息,也会受到浏览器中的保护

如果您的站点是按照标准实现的,那么GET请求应该是安全的,因此不需要保护

但是,有一种特殊情况,即可以执行“跨站点DoS”*攻击。假设您的报告页面执行需要10秒,数据库服务器上的CPU使用率为100%,web服务器上的CPU使用率为80%

您网站的用户知道永远不要访问
https://yoursite.example.org/Analysis/GetReport
在办公时间内,因为它会杀死服务器并给其他用户带来糟糕的用户体验

然而,他想让你的
yoursite.example.org
网站离线,因为他不喜欢你或你的公司

在贵公司员工经常参加的繁忙论坛上,
http://forum.walkertexasranger.example.com
,他将签名设置为以下内容:

<img src="https://yoursite.example.org/Analysis/GetReport" width=0 height=0 />

每次员工阅读Chuck的帖子时,都会向
https://yoursite.example.org/Analysis/GetReport
,因此您的站点将处理请求并生成报告,而您的系统将脱机,因为这些持续的请求占用了CPU

因此,即使该请求是GET请求,并且不会对系统进行任何永久性更改(也称为“安全”/“只读”),但实际上每次运行时都会关闭系统。因此,最好使用CSRF预防方法来保护这一点,并可能作为POST实施

*XSDoS,或者跨站点拒绝服务,是我发明的一个短语,所以不要在谷歌上搜索它