【问题标题】:Why is it okay to transmit authentication/session cookies over plaintext?为什么可以通过明文传输身份验证/会话 cookie?
【发布时间】:2014-04-15 15:30:35
【问题描述】:

我们都知道通过明文传输用户名和密码是不好的,因为任何人都可以很容易地查看数据包,因此我们使用 HTTPS 来加密这些数据。

我注意到许多网站只对登录表单使用 HTTPS,而对所有其他页面(例如 StackOverflow)使用常规 HTTP。有人不能看到从登录表单返回的 cookie(如会话 cookie)并将其注入到他们自己的 Web 请求中吗?虽然它不会暴露用户名和密码,但他们似乎可以通过这样做来冒充其他用户。

假设我正在窥探我朋友的互联网连接。在我的朋友使用 HTTPS 进行身份验证后,服务器和我的朋友开始通过 HTTP 进行通信并以明文形式传输 cookie。是什么阻止我使用这个 cookie?

【问题讨论】:

    标签: security http cookies


    【解决方案1】:

    没有什么能阻止您使用 cookie 并窃取他的会话。通过 HTTP 发送 cookie 是一种非常糟糕的安全实践。事实上,这个弱点被几年前登上头条的Firesheep Firefox extension 所利用。从那时起,一些网站(尤其是 Facebook 和 Gmail)只迁移到 HTTPS。其他网站也应该效仿。

    【讨论】:

      【解决方案2】:

      其实不然。如果攻击者窃取 cookie 然后使用它,这称为Session Hijacking

      StackOverflow are aware of this problem 并且一直在考虑在所有地方(站点网络范围内)转向 HTTPS。

      为防止 cookie 通过不安全的连接发送,应设置 Secure flag。这将阻止浏览器通过 HTTP 连接发送它,即使攻击者试图让它从他们自己的站点泄漏(很容易做到,攻击者可以在他们自己的站点中包含 <img src="http://www.example.com/anything.jpg" /> 以导致不安全的 cookie通过 HTTP 发送并执行 MITM attack)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-10-28
        • 1970-01-01
        • 2012-03-26
        • 1970-01-01
        • 1970-01-01
        • 2012-04-05
        • 2015-03-25
        相关资源
        最近更新 更多