假设有一个网站,在认证后设置浏览器cookie。此cookie足以验证用户身份,因此如果我将其转移到另一台计算机的浏览器,该网站会认为此浏览器已通过身份验证。
网站使用HTTPS进行所有通信,但以下情况除外。每当用户向http://domain.tld/发送请求并被重定向时,感知cookie将在第一个请求中使用HTTP(非安全)发送。
使用纯文本发送密钥后使用HTTPS似乎很奇怪。这是安全问题,还是我不能正确理解这一点?
答案 0 :(得分:0)
敏感Cookie需要Secure
属性保护。否则,很容易被主动网络攻击者截获。根据{{3}}:
Secure属性将cookie的范围限制为“安全”通道(其中“安全”由用户代理定义)。当cookie具有Secure属性时,仅当请求通过安全通道(通常是HTTP over Transport Layer Security(TLS)
)传输时,用户代理才会在HTTP请求中包含cookie。
这样,敏感的身份验证cookie将不会在非HTTPS请求中发送,从而使其保密。示例Set-Cookie
语句为:
Set-Cookie: SID=31d4d96e407aad42; Path=/; Secure; HttpOnly
但是,请注意Secure
属性仅保护cookie的机密性,而不是完整性:
尽管看起来对保护活跃网络攻击者的cookie非常有用,但Secure属性仅保护cookie的机密性。活动网络攻击者可以从不安全的通道覆盖安全cookie,从而破坏其完整性。