.Net Identity - 使用伪造的cookie登录

时间:2014-12-12 11:37:30

标签: asp.net asp.net-mvc cookies

我们正在使用.Net身份开发MVC应用程序。我们已经创建了注册和登录系统。现在我们正在尝试添加一些安全性。

我的朋友已登录应用程序并且已创建会话cookie。通过扩展,我在我的机器中创建了相同的cookie并且我已成功登录。我们如何防止这种情况?

我们尝试添加[ValidateAntiForgeryToken]和@HTML.AntiForgeryToken()但不会抛出页面

The required anti-forgery form field "__RequestVerificationToken" is not present.

异常。我们认为我们缺少一些东西。这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:4)

我认为这个令牌不会影响您尝试使用它。根据{{​​3}},它实际上是为了防止跨站点请求伪造,而不是防止劫持浏览器会话。

您的主要问题似乎是:

  

通过扩展程序,我在我的机器上创建了相同的cookie并且我已成功登录。我们如何防止这种情况?

您需要记住的是,您已经能够从另一台计算机上获取安全cookie。在“现实世界”中,该安全cookie将通过安全通道(例如https)传输,这样一个用户就无法获取另一个用户的cookie。如果用户“a”设法从用户​​“b”的计算机获取cookie而没有用户“b”执行任何故意的操作,那么用户“b”的计算机已经被终端泄露。

虽然我赞扬你试图解决这个问题,但如果用户能够掌握另一个用户的cookie,那么他们也很有可能获得其他任何东西。您可以检查浏览器标识字符串是否始终匹配,或者请求来自的IP地址不会更改,但如果有人确定了,则可以避免这两种检查。