HTTP规范的作者Roy Fielding不同意您的观点,即CSRF是HTTP中的一个缺陷,需要在那里修复.正如他在一个名为The HTTP Origin Header的帖子中的回复中所写:
CSRF不是Web的安全问题.精心设计的Web服务应该能够接收任何主机指示的请求,如果需要,可以通过适当的身份验证进行设计.如果浏览器出现安全问题,因为它们允许脚本自动将带有存储安全凭证的请求定向到第三方站点,而无需任何用户干预/配置,那么显而易见的修复就在浏览器中.
实际上,CSRF攻击从一开始就可以使用纯HTML.现在引入像JavaScript和CSS这样的技术只会引入更多的攻击向量和技术,使请求伪造更容易,更有效.
但它没有改变这样一个事实,即来自客户的合法和真实的请求不一定基于用户的意图.因为浏览器会一直自动发送请求(例如图像,样式表等)并发送任何身份验证凭据.
同样,CSRF攻击发生在浏览器内部,因此唯一可能的修复需要在浏览器内部进行修复.
但由于这并非完全可能(见上文),因此应用程序有责任实施一种允许区分真实和伪造请求的方案.始终传播的CSRF令牌就是这样一种技术.并且在正确实施并且防止其他攻击时效果很好(其中许多,再次,仅在现代技术的引入下才有可能).
归档时间: |
|
查看次数: |
4085 次 |
最近记录: |