如果攻击者将 SetAuthCookie 调用中放置的身份验证 cookie 从受害者 PC 复制到他们的 PC,攻击者是否会被 Web 应用程序视为已通过身份验证?

public static void SetAuthCookie(
    string userName,
    bool createPersistentCookie
)

使用标准表单例份验证 FormsAuthentication.SetAuthCookie 和参数 createPersistentCookie = false

假设此用于 Web 配置设置
<authentication mode="Forms">
    <forms name="MyWebApp" path="/" loginUrl="~/Default.aspx"
     timeout="30" defaultUrl="~/Default.aspx" protection="All"
     requireSSL="true" />
</authentication>

最佳答案

是的; ASP.Net 在身份验证 cookie 中不包含 IP 地址。 (这甚至对共享 WiFi 或代理没有帮助)

但是,由于您有 requireSSL="true" ,攻击者将(原则上)无法获取该 cookie。 (除非他们可以访问服务器或客户端,在这种情况下您会遇到更大的问题)

这就是您应该始终使用 SSL 的原因。

关于c# - 使用 ASP .NET 表单例份验证,如果新的身份验证 cookie 被盗,它是否可以在另一台 PC 上使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15302572/

10-13 07:24