Ken*_*n D 2 security asp.net-mvc
我希望我的问题不是太简单,但你知道在安全方面,我们都会怀疑.
由于在这两种情况之前(登录/注册),我们没有登录用户(会话cookie),为什么我们要打扰登录/注册表单中的AntiForgeryToken?
小智 6
一般来说,你没有.您正在谈论的攻击是跨站请求伪造(CSRF).这种类型的攻击依赖于登录用户(如果您登录到站点A和站点B并且站点A知道这一点,他们可能会将html代码放入其中会导致请求转到站点B看起来像你启动它并可能导致执行敏感操作).这些攻击依赖于浏览器发送会话cookie /令牌以及对相关站点的所有请求(站点A包括对站点B执行操作X的请求,这导致浏览器向站点B发送请求,因此包括所有cookie ,包括会话cookie,用该请求发送到站点B).
反CSRF令牌的工作原理是,当您向客户发送请求表单时,您会包含一个不可评估的值,客户端必须通过其操作请求发回该值.如果它返回,您知道要执行的操作请求源自您发送给客户端的表单.如果它没有回来,请求可能是伪造的,所以你应该忽略它.如果站点A上的代码导致请求发送到站点B,即使使用站点B的会话cookie,站点A上的代码也不会知道要包含的反CSRF令牌值,因此伪造的请求将被拒绝.
因此,如果您正在尝试防范站点上的CSRF攻击,则需要包含可以启动敏感操作的所有表单中的这些令牌,以防止使用已登录用户的伪造请求.此防御与未登录的用户无关,因为如果用户当前未登录,则另一个站点无法利用浏览器将所有请求发送会话cookie /令牌的事实.
| 归档时间: |
|
| 查看次数: |
488 次 |
| 最近记录: |