Dee*_*kor 5 security ruby-on-rails ruby-on-rails-5
http://api.rubyonrails.org/classes/ActionController/Redirecting.html
Redirects the browser to the page that issued the request (the referrer) if possible, otherwise redirects to the provided default fallback location.
The referrer information is pulled from the HTTP `Referer` (sic) header on the request.
Run Code Online (Sandbox Code Playgroud)
难道有人能够简单地将引用标头更改为恶意网站吗?Rails 对此有什么预防措施吗?
很容易说你只能劫持你自己,所以它不容易受到攻击。但实际情况比这要复杂一些。
请求中的引用标头从技术上讲是用户输入,不应信任。然而,显然对此有一些控制,因为引用者应该由浏览器设置,并且不应该被某些恶意网站覆盖。在某些情况下,Referer 实际上是可以伪造的。例如,如果使用恶意浏览器插件,例如旧的易受攻击版本的 Flash 或 Java - 两者都可能在某些时候执行此操作。或者恶意浏览器扩展。或者原始客户端不是浏览器,因此对引用者的这种保护不适用。
也许这些不适用于您的场景,但如果引用者是安全的,那么它也足以用于 csrf 保护,但事实并非如此(或至少不推荐)。
这是关于纵深防御。也许您并不完全知道如何利用这一点,但在许多情况下最好不要有这个弱点。话虽如此,redirect_back在许多情况下可能没问题,但在其他许多情况下则不好。您的威胁模型也应该涵盖这一点。
| 归档时间: |
|
| 查看次数: |
295 次 |
| 最近记录: |