在asp.net中,我实现了一个IHttpModule来缓解CSRF攻击。它向GET响应html注入一个带有asp.net SessionID的隐藏表单参数。然后在POST上检查以确保隐藏参数的值与当前SessionID匹配。据我所知,获取SessionID值的唯一方法是从cookie中获取,该cookie无法被恶意站点读取或确定。有什么我可以忽略的吗?CSRF验证令牌:会话ID安全吗?
7
A
回答
8
这种方法是正确的。您需要确保通过GET操作提供的所有操作都是“安全的”(无论如何,这是最佳实践),因为您只将XSRF保护应用于POST。
对于额外的保险,您也可以在GET上使用它(通过为所有链接添加URL参数,并在每个GET请求中检查它),但这很麻烦。
如果您是偏执偏执的人,您可以为替代ID选择一个不同的随机数。即使浏览器错误地将您的会话cookie访问到其他网站上的某些敌对Javascript,也可以保护您。创建会话时,选择另一个大的随机数并将其存储在会话中。
6
理想情况下,你会想使用会话id以外的东西,但基本上就是这样。 OWASP建议使用存储在用户会话中的随机表单元素名称。这样攻击者甚至不能伪造正确的隐藏域。
+0
随机化表单元素名称是一个有趣的想法。感谢您的链接。 – ironsam 2009-02-06 18:42:21
相关问题
- 1. 暴露会话的CSRF保护令牌安全吗?
- 2. 会话令牌安全parse.com
- 3. CSRF令牌春季安全
- 4. csrf令牌,安全问题?
- 5. 会话ID验证 - 安全 - 离子/角
- 6. 无法验证CSRF令牌! Angular 2和弹簧安全
- 7. 登录,用户身份验证,会话和csrf令牌
- 8. Laravel SPA应该使用CSRF令牌来保证安全吗?
- 9. AngularJS安全令牌与会话
- 10. Spring安全OAuth2 - 验证访问令牌
- 11. 身份验证令牌安全
- 12. 令牌身份验证Rest API会话
- 13. 无CSRF令牌的身份验证
- 14. Spring安全会话ID作为令牌配置
- 15. Firebase验证ID令牌
- 16. CSRF安全风险,如果验证令牌在标题而不是POST正文
- 17. 在会话过期后无法验证CSRF令牌的真实性 - Rails + devise + redis
- 18. 长身份验证会话和安全
- 19. 需要CSRF令牌吗?
- 20. 验证令牌的签名全局ID - 安全还是易受攻击?
- 21. 如何验证Google ID令牌?
- 22. 笨,CSRF令牌
- 23. ServerSide会话安全吗?
- 24. user_Id会话安全吗? Hartl
- 25. wcf联合安全令牌是会话令牌还是可重用的?
- 26. 身份服务器4没有安全令牌验证器可用于令牌
- 27. 使用会话ID而不是令牌身份验证与Dropbox http api集成
- 28. 正在使用会话var作为安全令牌在PHP好吗?
- 29. 显示OAuth访问令牌安全吗?
- 30. Salesforce安全令牌
我现在可能不会担心GET,因为http无法改变状态(但显然可能)。只要我们保持这个惯例/标准,我们应该没问题。我可能会考虑使用SessionID以外的值来提供额外的安全性,谢谢。 – ironsam 2009-02-06 18:46:31