【发布时间】:2013-05-04 06:50:54
【问题描述】:
此链接 (http://software-security.sans.org/developer-how-to/developer-guide-csrf) 告诉我,从 Visual Studio 2012 开始,Microsoft 为新的 Web 表单应用程序项目添加了内置的跨站点请求伪造 (CSRF) 保护。将新的 ASP .NET Web 窗体应用程序添加到您的解决方案并查看 Site.Master 代码隐藏页面。此解决方案将对所有从 Site.Master 页面继承的内容页面应用 CSRF 保护。
Visual Studio 2012 自动生成的代码会生成一个随机 GUID,然后将该 GUID 存储到一个 HttpCookie 中,然后由不同的网页使用。在每个页面上,此 GUID 都分配给 Page.ViewStateUserKey 以便 ViewStateUserKey 可以保护 CSRF 攻击。条件是应用程序必须使用 SSL。
为什么 cookie 不需要加密?我知道应用需要 SSL。但是 cookie 中存储纯文本的 GUID 安全性不好,是吗?
【问题讨论】: