如果攻击者将 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/