【问题标题】:How do people protect against 307 redirect人们如何防止 307 重定向
【发布时间】:2017-11-08 09:19:34
【问题描述】:

如果 evilsite.com 向 evilsite.com/foo 提交表单,然后 307 重定向到用户已经登录的 goodsite.com/bar,这会将带有货物站点 cookie 的 POST 发送到 goodsite.com/bar。

人们通常如何防范这种情况? 普通的 webframeworks django/flask 会做些什么来防止这种情况发生吗?

我可以看到两种防止这种情况的方法:

  1. 将令牌放入您的页面,该令牌随每个表单(不是 cookie)一起发送。 这似乎需要做很多工作。
  2. 查看引荐来源网址。但是有些浏览器插件会抑制引荐来源网址,或者更糟的是假装目的地是引荐来源网址。而且我不确定这个引荐来源标头有多可靠。

【问题讨论】:

  • 我看到 stackoverflow 确实总是在每个表单中都包含一个名为“fkey”的隐藏输入字段。

标签: http security redirect web browser


【解决方案1】:

它叫做CSRF。您应该使用反 CSRF 令牌来防止此类漏洞。所有现代框架都可以处理它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-23
    • 2013-01-07
    • 2017-07-24
    • 2012-06-24
    • 2016-10-06
    • 2019-02-26
    • 1970-01-01
    • 2018-07-15
    相关资源
    最近更新 更多