【问题标题】:Best Practice for href CSRF Prevention?href CSRF预防的最佳实践?
【发布时间】:2011-02-28 19:46:00
【问题描述】:

我正在为我的网站编写一个基本的留言板插件。版主将在每个帖子上都有 href 链接以删除、取消批准、编辑等。防止对这些链接进行 CSRF 攻击的最佳方法是什么?我唯一能想到的就是为每个链接制作一个带有隐藏标记的表单,并让 href 使用 javascript 提交表单,但这似乎是一个非常笨拙的解决方案。有没有更好的办法?

【问题讨论】:

    标签: csrf


    【解决方案1】:

    【讨论】:

    • 我读过类似的东西。在这些情况下包含一个令牌作为 GET 参数就足够了,因为我没有处理信用卡号或类似的敏感信息?
    • @Slipflurry - 只要令牌是唯一的、不可猜测的并且可以与用户相关联,当然可以。
    • @Oded - 从您链接的 OWASP 文档中,在 URL 中披露令牌:“GET 请求中的 CSRF 令牌可能在多个位置泄露:浏览器历史记录、HTTP 日志文件、记录 HTTP 请求第一行的网络设备,以及受保护站点链接到外部站点时的引用标头。”不要将 CSRF 令牌放入 GET 请求中,除非您不在乎他们是否受到损害。那为什么还要费心去拥有令牌呢?
    【解决方案2】:

    只需将 CSRF 令牌连接到 href 链接。

    并在版主会话中检查该令牌,

    XSRF 的全部意义在于发出请求,响应依赖。所以只需将令牌连接到响应。

    【讨论】:

    • 好吧,我的意思是:
    • GET 请求不应该改变服务器的状态
    猜你喜欢
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-20
    • 2013-06-03
    • 2011-09-21
    • 2022-01-18
    • 1970-01-01
    相关资源
    最近更新 更多