【问题标题】:After securing ASPXAUTH and ASP.NET_SessionId cookies, is this the correct behavior?在保护 ASPXAUTH 和 ASP.NET_SessionId cookie 之后,这是正确的行为吗?
【发布时间】:2019-07-13 11:11:10
【问题描述】:

通过渗透测试通知我们,我们的网站没有保护 ASPXAUTH 和 ASP.NET_SessionId cookie。

为了保护 cookie,我做了几处更改。

  • 1) 将 requireSSL="true" 属性添加到 System.Web -> web.config 中的身份验证 -> 表单元素。
  • 2) 在初始登录和注销时清除 ASP.NET_SessionId 和 ASPXAUTH cookie 的代码中,将它们设置为安全且仅限 HTTP。
  • 3) 向 Application_EndRequest 方法 Global.asax 添加了代码 专门设置 ASP.NET_SessionId 和 ASPXAUTH cookie Response.Cookies 到 Secure 和 HttpOnly。

我不知道为什么第二个很重要,但是没有它,ASP.NET_SessionId cookie 永远不会在响应对象中显示为安全的。

使用 Chrome 开发人员工具,我在多个时间点截取了屏幕截图,其中一些行为让我感到意外。如果有人可以看看这个并让我知道事情是否正确,我将非常感激。

此屏幕截图是在清除网站的 cookie 后在初始页面加载时拍摄的: Upon initial page load

我觉得这两个 SessionId cookie 很奇怪,为什么有一个是安全的,一个不安全?

此截图为点击登录网站后截图:After clicking log in

这对我来说更没有意义,为什么请求中的 ASP.NET_SessionId cookie 没有标记为安全或 HttpOnly,这是预期的行为吗?我假设响应中没有发送 SessionId cookie 是正确的行为

此截图是在点击网站上的链接查看新页面后截取的:enter image description here

如果可能的话,这对我来说更没有意义。有问题的两个 cookie 在请求中发送,均未设置 HttpOnly 或 Secure。这是正确的行为吗?另外,响应中出现的 cookie 都不正确吗?

我在 StackOverflow 和 Google 上花了很多时间来尝试找到配置这些 cookie 的正确方法。我只是不知道我所做的是否正确,因为我不确定固定的实现应该是什么样子。

我们将不胜感激。

谢谢你, -内森

【问题讨论】:

    标签: security cookies authorization sessionid httponly


    【解决方案1】:

    在 SO How to secure the ASP.NET_SessionId cookie? 上查看这个类似的帖子

    您是否在会话开始事件期间设置 cookie 的安全标志?像这样。

    protected void Session_Start(Object sender, EventArgs e)
    {
    // secure the ASP.NET Session ID only if using SSL
    // if you don't check for the issecureconnection, it will not work.
    if (Request.IsSecureConnection == true)
         Response.Cookies ["ASP.NET_SessionID"].Secure = true;
    }
    

    【讨论】:

    • 这确实改变了一些行为,但我仍然不确定它是否正确。这是在初始页面加载之后:i.imgur.com/KSUISU1.jpg这是在单击登录之后:i.imgur.com/l7uxSPh.jpg这是在加载新页面之后:i.imgur.com/IcTkiav.jpg我担心第三张图片,因为这两个 cookie 都没有它们的 httpOnly 或安全标志设置。
    • 不看代码很难判断。我建议在您操作的其他任何地方禁用代码。尝试逐步启用。另外,在测试之前,请尝试从 chrome 中清除 cookie。希望对你有用。
    • 我已经做过很多很多次了。我要解决的问题不是我的代码是否正确。我正在尝试确定这种行为是否正确。尤其是更改页面请求中缺少 Secure 和 HttpOnly 标记。
    猜你喜欢
    • 2014-11-15
    • 2011-08-24
    • 2013-12-02
    • 2012-05-13
    • 1970-01-01
    • 2010-12-26
    • 2019-09-01
    • 1970-01-01
    • 2010-09-30
    相关资源
    最近更新 更多