CSRF攻击 - 同一页面上的GET和POST请求

时间:2016-09-25 17:31:05

标签: html ajax csrf

一个Web应用程序有一个删除按钮。点击该Web应用程序后,首先执行GET请求,该请求将返回带有令牌密钥的POST表单。 如果是,则询问是或否。资源被删除。

如何实现CSRF攻击?我可以提交隐藏在iframe中的第一个请求,但我需要该令牌来提交第二个POST请求。

由于CORS,Ajax失败。

甚至可以在一个页面上

  1. 发送GET请求
  2. 解析响应并获取令牌
  3. 使用令牌提交POST表单以触发CSRF

1 个答案:

答案 0 :(得分:0)

我认为这实际上是针对CSRF的标准保护,在页面生成(GET)时生成令牌,并且在提交(POST)时验证它实际上更改了应用程序状态(删除了您的案例中的对象)。所以在概念上它对我来说很好。

但是魔鬼在细节中。如何生成令牌(使用什么算法和/或随机生成器,它有多少熵)以及如何验证?它存储在某个地方还是无国籍?什么时候生成新令牌,何时重用旧令牌?这些是在防范CSRF时必须始终考虑的一些问题。

您的方案会想到一个特殊问题,即确认页面是否包含有关将要执行的操作的所有详细信息。一个简单的“你确定吗?”我觉得你的情况不够。