会话认证对于用户身份验证是否足够安全?

3
我想知道会话是否足够安全来验证用户身份。 基本上,当一个新的会话开始时,服务器会生成一个唯一的会话id。 该id用于区分不同的用户。
然而,黑客可能窃取他人的会话id吗? 我如何防止其他人窃取我的会话id? 在我看来,黑客也可以通过意外或暴力攻击猜测会话id。
请回答这个问题,以便我能更好地理解会话的概念作为一名更好的软件开发人员。

Session不用于验证用户,而是用于确保在身份验证后用户操作的连续性。你是在询问Session.Id的安全性吗?你的问题是否针对某种技术? - Srikanth Venugopalan
嘿,你能告诉我们你在谈论哪种编程语言吗? - Jeff Ferland
@SrikanthVenugopalan 谢谢。你是对的。会话用于在服务器和用户之间保持通信。我的问题是关于会话ID的安全性。此外,它不特定于任何技术。 - Sungam Yang
@JeffFerland 我正在使用 PHP 构建注册和登录表单。 - Sungam Yang
@leemo 谢谢。我认为我应该检查会话固定并在每个新请求中重新生成ID。 - Sungam Yang
显示剩余2条评论
3个回答

3

谢谢。我应该阅读很多文章并花些时间去理解。 - Sungam Yang

0

你是正确的。有一种攻击称为“会话劫持”。还有一种麻烦的攻击会干扰现有会话,即所谓的“跨站点请求伪造”。需要采取各种对策。在这里概括它们并不是非常实际的。但是,了解这些攻击的名称后,您可以轻松地去学习防范措施。例如,您可以查阅OWASP.org上的Cross-Site Request Forgery (CSRF) Prevention Cheat Sheet


CSRF如何成为会话劫持的重要手段? - Gumbo
谢谢,我在使用术语时没有足够的谨慎,所以我会修正它。 - minopret
@minopret 谢谢。了解行话是学习某些东西的起点 :) - Sungam Yang

0

会话数据容易受到攻击。跨站请求伪造或会话劫持是人们警惕的热词之一。

已经在这里提到了几篇关于CSRF的文章。

但总的来说,劫持会话是任何(会话感知)Web应用程序的安全方面。中间人攻击(MITM)是一种会将敏感数据暴露给未经授权用户的攻击方式。关于MITM的一个很好的介绍可以在OWASP上找到这里。这个博客上有一些MITM的例子。

虽然大多数文章提供了一些背景,说明如果不采取措施防止会话劫持可能会出现的一些漏洞,但好消息是有工具可以让我们测试应用程序是否存在这些漏洞。已经提到了开放式Web应用安全项目(OWASP)。OWASP提供构建安全网站指南(相当通用的主题),会话管理测试清单以及一些资源/工具和示例来检查会话的特定方面。

这些文章提到了测试此类漏洞的方法。正如你已经提到的,稍微阅读一下就可以帮助你。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接