安全扫描期间的CSRF令牌cookie漏洞

vid*_*ima 2 python security django cookies

我正在使用Django为我的雇主制作一个简单的网站,我不得不通过安全扫描运行代码来测试漏洞.其中一个问题是cookie漏洞,我可以找到要找到的文档.

登录我的网站时会出现cookie漏洞.

这是错误 - 扫描由OCIO-Internet-Scan运行

CVSS:5.0消息:csrftoken Cookie有问题 csrftoken = J4S6ZO7ssz4TUIlRNv9d95mCFomAbXO1; Host = [removed] Path = /

  1. Cookie可以缓存.
  2. Cookie是持久的.Cookie将于2017年6月7日星期三到期

持久会话处理cookie:当持久设置会话处理cookie时,即使用户终止会话,它也允许cookie有效.因此,攻击者可以使用浏览器存储为文本文件的会话cookie来访问受限信息.可缓存的cookie:可缓存的cookie可以缓存在代理或网关上.它可能导致提供过期或过时的cookie值.如果攻击者已经破坏了该代理或网关,他们也可以窃取此类cookie.

我的问题是,我究竟能在哪里更改csrftoken行为?我无法使用谷歌找到它,在修复此问题之前我无法启动该网站.我甚至能够改变csrf如何适应这些错误吗?

Ale*_*x W 5

听起来你想要将CSRF_COOKIE_AGE设置更改为None:

默认值:31449600(约1年,以秒为单位)

CSRF cookie的时代,以秒为单位.

设置长期过期时间的原因是为了避免在用户关闭浏览器或为页面添加书签然后从浏览器高速缓存加载该页面时出现问题.如果没有持久性cookie,表单提交在这种情况下将失败.

某些浏览器(特别是Internet Explorer)可能会禁止使用持久性cookie,或者可能会将cookie的索引损坏到磁盘上,从而导致CSRF保护检查(有时是间歇性的)失败.将此设置更改为" 无"以使用基于会话的CSRF cookie,这会将cookie保留在内存中而不是持久存储上.

这将导致它成为会话cookie而不是持久cookie.会话cookie没有到期日期,因此浏览器仅将其保存在当前浏览器会话的内存中,然后在会话结束时将其删除.

您可以在此处找到有关如何更改Django设置的信息.