Abh*_*wal 3 security csrf cross-domain
我正在尝试实现一种用户友好的反 CSRF 机制。
问题是我的应用程序将在多个选项卡中打开,并且令牌很可能在服务器上过期。
从 get-csrf-token.php 这样的服务器文件获取新的 csrf 令牌是一个好习惯吗?因为无论如何,攻击者无法读取跨站点请求的响应(考虑到 jsonp 和 cors 被禁用)
编辑: 我计划保持每个会话每小时单个 CSRF 令牌有效,并且 Web 应用程序将在一小时后重新请求新令牌
这种做法有什么问题吗?
每个用户会话只需要一个 CSRF 令牌。由于同源策略,任何攻击者都无法读取令牌,因此您无需刷新令牌,直到下一个会话处于活动状态。这意味着您的应用程序在多个选项卡中打开不会出现问题。
您的方法是同步器令牌模式CSRF 保护机制的实现,这是 OWASP 推荐的方法。由于 JavaScript 用于将值添加到请求中,因此您无法将 cookie 标记为httpOnly. 这可以防止任何 XSS 漏洞让攻击者获取您的 cookie 值。但是,如果您确实存在任何 XSS 漏洞,这些漏洞比 CSRF 漏洞稍微严重一些,无论如何都应该立即解决,因为一旦发现 XSS 缺陷,还会有其他攻击媒介。
请参阅这篇文章,了解一些 CSRF 机制的优点和缺点:Why is it common to put CSRF Prevention tokens in cookies?
| 归档时间: |
|
| 查看次数: |
11804 次 |
| 最近记录: |