Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript csrf令牌混淆。我可以通过wget获得它,没有跨源问题。什么';那么重点是什么呢?_Javascript_Django_Security_Cookies_Csrf - Fatal编程技术网

Javascript csrf令牌混淆。我可以通过wget获得它,没有跨源问题。什么';那么重点是什么呢?

Javascript csrf令牌混淆。我可以通过wget获得它,没有跨源问题。什么';那么重点是什么呢?,javascript,django,security,cookies,csrf,Javascript,Django,Security,Cookies,Csrf,我不完全理解csrf令牌保护的意义。 这是一个标记,表明帖子来自我的网站 但是任何人只要验证他们的cookie内容就可以访问该令牌。 我不明白,这个令牌怎么保护我 要获取csrf cookie,我可以对服务器进行ajax调用并将cookie设置为那样吗?这会破坏csrf保护吗?csrf攻击涉及某个地方托管的恶意代码。这个想法是: 攻击者诱使您访问该站点,并且您的浏览器加载恶意代码 在该网站的上下文中,恶意代码试图在其他安全网站(你的银行、医院等)的某个已知URL上发布帖子 如果您碰巧登录到安

我不完全理解csrf令牌保护的意义。 这是一个标记,表明帖子来自我的网站

但是任何人只要验证他们的cookie内容就可以访问该令牌。 我不明白,这个令牌怎么保护我


要获取csrf cookie,我可以对服务器进行ajax调用并将cookie设置为那样吗?这会破坏csrf保护吗?

csrf攻击涉及某个地方托管的恶意代码。这个想法是:

  • 攻击者诱使您访问该站点,并且您的浏览器加载恶意代码
  • 在该网站的上下文中,恶意代码试图在其他安全网站(你的银行、医院等)的某个已知URL上发布帖子
如果您碰巧登录到安全站点,那么您的浏览器将为其提供一个安全会话cookie。当恶意代码尝试发布时,浏览器会尽职尽责地发送cookie。坏代码不知道cookie值是什么,但它不必知道

然而,恶意代码确实需要知道如何为执行POST请求组合参数的所有其他信息。这就是安全CSRF令牌想法的来源。恶意代码实际上无法从真正安全的站点查看浏览器页面上的内容。因此,当恶意代码尝试其POST操作时,期望CSRF令牌的安全站点将看不到令牌


(这方面可能还有其他变化;我不是安全专家,也不完全了解此类攻击。)

CSRF攻击涉及某个地方托管的恶意代码。这个想法是:

  • 攻击者诱使您访问该站点,并且您的浏览器加载恶意代码
  • 在该网站的上下文中,恶意代码试图在其他安全网站(你的银行、医院等)的某个已知URL上发布帖子
如果您碰巧登录到安全站点,那么您的浏览器将为其提供一个安全会话cookie。当恶意代码尝试发布时,浏览器会尽职尽责地发送cookie。坏代码不知道cookie值是什么,但它不必知道

然而,恶意代码确实需要知道如何为执行POST请求组合参数的所有其他信息。这就是安全CSRF令牌想法的来源。恶意代码实际上无法从真正安全的站点查看浏览器页面上的内容。因此,当恶意代码尝试其POST操作时,期望CSRF令牌的安全站点将看不到令牌

(这方面可能还有其他变化;我不是安全专家,也不完全了解此类攻击。)

csrf令牌混淆。我可以通过wget获得它,没有跨源问题。那有什么意义呢

您缺少的部分是cookies-wget不会将cookie与请求一起从受害者的浏览器发送

将CSRF令牌(在HTML中的隐藏
字段中可见)与会话cookie相关联。如果其他用户请求从您的页面获取CSRF令牌,因为他们没有与受害者登录到同一会话中,此令牌将无法用于他们的攻击

攻击的工作原理如下。想象一下
www.evil.com
上的以下代码,攻击者已设法让受害者访问该网站(例如通过facebook帖子或电子邮件):-


document.forms[0].提交()
当受害者以管理员用户身份登录您的站点(
www.example.com
)时,表单提交工作正常,所有用户都将从您的系统中删除

建议使用同步器令牌模式修复此漏洞。CSRF令牌是一个加密安全的随机字符串。当合法用户加载并提交表单时,系统将检查所发布的令牌是否与预期的令牌匹配。任何攻击者都无法从您的站点读取令牌,因为任何跨站点访问都受

还有另一种预防方法称为(可能与您正在谈论的方法相匹配)。这以类似的方式工作,尽管没有存储CSRF令牌的服务器端状态。这需要一个cookie值来匹配与表单一起提交的CSRF令牌,但由于攻击者无法设置或读取此cookie,因此他们不知道要设置表单提交值以匹配cookie的值

csrf令牌混淆。我可以通过wget获得它,没有跨源问题。那有什么意义呢

您缺少的部分是cookies-wget不会将cookie与请求一起从受害者的浏览器发送

将CSRF令牌(在HTML中的隐藏
字段中可见)与会话cookie相关联。如果其他用户请求从您的页面获取CSRF令牌,因为他们没有与受害者登录到同一会话中,此令牌将无法用于他们的攻击

攻击的工作原理如下。想象一下
www.evil.com
上的以下代码,攻击者已设法让受害者访问该网站(例如通过facebook帖子或电子邮件):-


document.forms[0].提交()
当受害者以管理员用户身份登录您的站点(
www.example.com
)时,表单提交工作正常,所有用户都将从您的系统中删除

建议使用同步器令牌模式修复此漏洞。CSRF令牌是一个加密安全的随机字符串。当合法用户加载并提交表单时,系统将检查所发布的令牌是否与预期的令牌匹配。任何攻击者都无法从您的站点读取令牌,因为任何跨站点访问都受

没有