我想知道会话是否足够安全以对用户进行身份验证。基本上,当一个新会话开始时,服务器会生成一个唯一的会话 ID。而id用来区分不同的用户。
但是,黑客不可能窃取他人的会话ID吗?如何防止他人窃取我的会话 ID?在我看来,黑客也可以通过意外或暴力攻击猜测会话 ID。
您能否回答这个问题,以便我能够理解会话的概念以成为更好的软件开发人员?
在野外 cookie 最常使用 XSS 获得。劫持会话的另一种常见方法是使用Firesheep之类的工具嗅探会话 ID 。在这种情况下,通过 HTTP 泄露会话 ID 将违反 owasp a9 - Insufficient Transport Layer Protection。如果攻击者可以强迫受害者使用特定的会话 ID,那么它就称为Session Fixation,并且可以用来破坏帐户。 CSRF 和点击劫持是影响会话的其他方式。
你是对的。有一种攻击称为“会话劫持”。还有一种麻烦的攻击会干扰现有会话,称为“跨站点请求伪造”。各种对策是必要的。在这里总结它们不是很实用。但是知道攻击的名称,您可以轻松地了解对策。例如,您需要查阅OWASP.org 上的跨站点请求伪造 (CSRF) 预防备忘单。
会话数据容易受到攻击。跨站点请求伪造或会话骑行是人们警惕的流行语之一。
这里已经提到了几篇关于 CSRF 的文章。
但总的来说,劫持会话是任何(会话感知)Web 应用程序的安全方面。中间人 (MITM) 攻击会将敏感数据暴露给未经授权的用户。OWASP上有一篇关于 MITM 的好文章。此博客上的一些 MITM 示例。
虽然大多数文章都提供了一些漏洞的背景知识,这些漏洞可能因不实施会话劫持措施而出现,但好消息是,有一些工具可以让我们测试应用程序的这些漏洞。已经提到了开放 Web 应用程序安全项目 (OWASP)。OWASP 提供了构建安全网站的指南(非常笼统的主题)、 会话管理测试的清单以及一些资源/工具和示例来检查会话的特定方面。
提到的这些文章提供了测试此类漏洞的方法。就像您已经提到的那样,阅读一下会对您有所帮助。