Php CSRF表单-您可以更改令牌吗?
我只是想问一个关于使用CSRF令牌的PHP&HTML表单的一般问题,所以您可以生成一个随机令牌,并将其存储在PHP中的session变量中,然后作为HTML表单中的隐藏字段输出 但我说得对吗,如果我们在这件事上:Php CSRF表单-您可以更改令牌吗?,php,html,csrf,web-inspector,Php,Html,Csrf,Web Inspector,我只是想问一个关于使用CSRF令牌的PHP&HTML表单的一般问题,所以您可以生成一个随机令牌,并将其存储在PHP中的session变量中,然后作为HTML表单中的隐藏字段输出 但我说得对吗,如果我们在这件事上: 一个叫Bob的人正在查看secureform.phppage 同一个人查看badform.php页面 如果Bob进入badform.php页面并生成了一个令牌,然后他们进入secureform.php并从secureform.php获取令牌,然后通过inspect元素将其放入bad
- 一个叫Bob的人正在查看
pagesecureform.php
- 同一个人查看
页面badform.php
badform.php
页面并生成了一个令牌,然后他们进入secureform.php
并从secureform.php
获取令牌,然后通过inspect元素将其放入badform.php
并提交,那么有没有绕过CSRF的方法
我能不能得到一些反馈,看看这是否有效,以及如何防止类似的事情发生?如果有道理,如果不让我知道,谢谢 Bob可能正在做一些你不想做的事情,但CSRF令牌并不打算保护它 同一场景的跨站点请求伪造版本可能是其他人(称为Eve)欺骗Bob提交badform.php。由于Eve控制表单的内容,但Bob使用其会话cookie或其他身份验证信息提交表单,因此Eve可以执行只有Bob有权执行的操作
但是,如果表单需要一个额外的CSRF令牌,Eve将无法访问该令牌,因此当他们欺骗Bob提交表单时,它将被拒绝。Eve获得表单验证的唯一方法是诱骗Bob从secureform.php复制有效令牌,这比诱骗他们提交表单要困难得多。不,你没有绕过CSRF,CSRF旨在防止跨站点请求伪造,使攻击者无法代表用户发送请求。如果Bob复制了令牌,则他希望该请求发生,但攻击者无法获取令牌。应在信息安全中提出此问题,而不是这样。阅读: