基本cookie& CSRF问题

时间:2011-04-21 22:57:16

标签: security cookies csrf

我目前正在了解有关CSRF的更多信息,我有一个关于cookie的基本问题。来自Jeff Atwood's article on CSRF

  

“当POST请求发送到   网站,请求应该只是   如果表格价值和,则视为有效   cookie值是相同的。当一个   攻击者代表a提交表格   用户,他只能修改值   表格。攻击者无法阅读任何内容   从服务器发送的数据或修改   cookie值,根据同源而定   政策。这意味着,虽然   攻击者可以发送他想要的任何值   随着形式,他将无法   修改或读取存储在中的值   饼干“。

如果Cookie为a piece of text stored on a users computer他们怎么能不修改/读取cookie的值

如果他们知道cookie的价值并且可以看到隐藏在表单中的伪随机值,那么他们是不是只需要执行攻击呢?

谢谢,

2 个答案:

答案 0 :(得分:4)

同源政策意味着攻击网站无法从其他域读取Cookie。见http://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_cookies

我们不是在谈论在用户的计算机上拥有rootkit或类似内容的攻击者,CSRF保护的是恶意服务器,用户通过POST请求向恶意服务器的域提交表单想要攻击。由于恶意服务器无法从目标域读取cookie,因此无法正确填写CSRF字段以获取他们正在进行的POST请求。

答案 1 :(得分:2)

这指的是同步器令牌模式。通常意味着表单包含一个隐藏字段,其值对于该用户的会话是唯一的。相同的值存储在用户计算机的cookie中。提交表单后,将检查两个值是否匹配。

这种方法的优点是,如果恶意网站试图构建对合法网站的发布请求,则不会知道该隐藏的表单值。获得这个是一个完全复杂的过程。

攻击网站无法读取或操作Cookie值,因为它是从其他域发出的。更多相关内容(包括一个有效的例子):OWASP Top 10 for .NET developers part 5: Cross-Site Request Forgery (CSRF)