https如何防止会话劫持

Posted

技术标签:

【中文标题】https如何防止会话劫持【英文标题】:how do https prevent session hijacking 【发布时间】:2017-12-22 22:21:00 【问题描述】:

我看过一些关于防止会话劫持的文章,大部分都说在您的网站上使用 https,但我不明白 https 是如何防止会话劫持的

https 如何防止会话劫持?

【问题讨论】:

Is HTTPS the only defense against Session Hijacking in an open network?的可能重复 【参考方案1】:

会话劫持也可以由嗅探您的网络流量的人执行。例如,假设您通过 HTTP 连接到 ***,并且有人读取您发送到服务器的每个请求。每次您访问不同的页面时,您都会将您的身份验证 cookie 连同您的请求一起发送到 ***,因此它会知道您已登录,并且不会要求您再次登录。

问题在于,由于您的通信是以明文形式执行的,攻击者可以读取您的请求,他将能够获取您的身份验证 cookie,并且他将能够冒充您。

现在,如果您使用的是 HTTPS,那么您将通过加密通道进行通信。即使攻击者正在嗅探您的所有请求,他也无法获得任何有意义的信息,因为他只会看到加密的文本。这就是为什么 HTTPS 可以很好地防止会话劫持的原因。 当然,劫持会话的方法有很多种,中间的人只是其中一种,所以也许你应该看看这个:https://www.owasp.org/index.php/Session_hijacking_attack

另外,顺便说一句,“仅使用 HTTPS”不是万能药,它需要正确配置和实施,所以如果您是要执行一些服务器端配置的人,我强烈建议您阅读有关协议和协议攻击的更多信息,以避免一些常见错误(如启用旧版本的 SSL,或使用损坏的算法,如 RC4)。

【讨论】:

是的,他们可以读取任何连接的信息,就像您使用开发人员一样。 chrome中包含的工具。例如,您可以安装 Fiddler 或 Wireshark,您将看到它如何捕获您发出的每个请求以及来自服务器的所有响应(当然,在这种情况下,它们会拦截您的连接,所以它们会成为在 Fiddler/Wireshark 中看到您的请求和响应的人。

以上是关于https如何防止会话劫持的主要内容,如果未能解决你的问题,请参考以下文章

防止会话劫持

PHP 防止会话固定/劫持

session劫持防范

ASP.NET 中的会话劫持对策

取消Mediawiki登录以防止会话劫持

预防session劫持