一个Web应用程序有一个删除按钮。点击该Web应用程序后,首先执行GET请求,该请求将返回带有令牌密钥的POST表单。 如果是,则询问是或否。资源被删除。
如何实现CSRF攻击?我可以提交隐藏在iframe中的第一个请求,但我需要该令牌来提交第二个POST请求。
由于CORS,Ajax失败。
甚至可以在一个页面上
答案 0 :(得分:0)
我认为这实际上是针对CSRF的标准保护,在页面生成(GET)时生成令牌,并且在提交(POST)时验证它实际上更改了应用程序状态(删除了您的案例中的对象)。所以在概念上它对我来说很好。
但是魔鬼在细节中。如何生成令牌(使用什么算法和/或随机生成器,它有多少熵)以及如何验证?它存储在某个地方还是无国籍?什么时候生成新令牌,何时重用旧令牌?这些是在防范CSRF时必须始终考虑的一些问题。
您的方案会想到一个特殊问题,即确认页面是否包含有关将要执行的操作的所有详细信息。一个简单的“你确定吗?”我觉得你的情况不够。