最近我们在我们的一个 ASP.NET 应用程序中进行了安全扫描(IBM AppScan),它报告了一个中等漏洞,如下所示
会话标识符未更新
严重性:中等
风险:可能会窃取或操纵客户会话和 cookie,这些会话和 cookie 可能被用来冒充合法用户,允许黑客查看或更改用户记录,并以该用户身份执行交易
原因:不安全的 Web 应用程序编程或配置。
ASP.NET 工具的建议修复是
对于不为 sessionid cookie 生成新值的平台(例如 ASP),请使用辅助 cookie。在这种方法中,将用户浏览器上的辅助 cookie 设置为随机值,并将会话变量设置为相同的值。如果会话变量和 cookie 值不匹配,则使会话无效,并强制用户再次登录。
我们为我们的应用程序安装了 SSL 证书,并确保所有 cookie(会话、身份验证和 AntiForgeryToken)都是安全的(RequireSSL="True")-HttpOnly 并且还实施了 Microsoft 的 Microsoft 缓解 CSRF 漏洞的建议,如Microsoft CSRF Fix中所述。
我的问题是,即使使用 SSL 证书和流量超过 Https,仍然可以劫持会话吗?并且由于我已经在使用辅助 Secure-Httponly cookie(AntiForgeryToken),我还需要做什么才能使应用程序更安全?