会话重播与会话固定与会话劫持

时间:2017-05-03 06:42:36

标签: security session session-hijacking session-fixation session-replay

大家好,任何人都可以在会话固定,会话重播和会话劫持攻击之间给出明显的区别,我已经阅读了很多文章,但会议劫持和会话重播攻击之间的问题仍然不明确......

提前致谢

1 个答案:

答案 0 :(得分:5)

固定和劫持最终都有相同的目标 - 获得对会话的访问权限。他们只是在实现这一目标方面有所不同。

会话劫持只是窃取现有的有效会话cookie的行为。最常见的方式是通过嗅探网络流量(MITM攻击),还可以通过会话ID泄露的任何其他方式。

会话固定类似,但反转 - 预定义的会话cookie 种植到受害者的浏览器中。因此,在受害者登录到网站后,他们将使用攻击者已经知道的相同会话cookie,因此攻击者拥有的cookie现在已经过身份验证并且可以被利用。
当然,这需要攻击者临时访问受害者的浏览器本身,但原则很简单 - 如果数据首先在您的控制之下,则无需窃取数据。

重播有点不同,可能意味着两件事......

如果攻击者已经可以访问会话cookie(通过固定或劫持),那么只需将cookie重新用于他们想要的任何内容。
否则,它可以指欺骗受害者重新提交先前有效的请求(使用相同的会话cookie)。例如,用户可能被欺骗购买多件商品,他们只需要一个单位的商品。

注意:我在任何地方都使用“会话cookie”来简化说明,但当然还有其他传输会话ID的方法。

如何保护自己免受这些攻击:

  • 使用TLS(HTTPS)来防止MITM攻击,从而防止最常见的劫持方式。还要在Cookie上设置Secure标志,以防止它们通过纯文本连接提交(即浏览器只会在使用https://方案时发送)。
  • 在Cookie上设置HTTPOnly标记,例如JavaScript无权访问Cookie。如果JS无法访问cookie,这也意味着它不能泄露它们(不能被劫持),但还有很多其他方法可以利用客户端代码。
  • 在用户执行的每个权限更改操作上重新生成会话ID(登录,注销,以管理员身份登录 - 如果有额外的表单),以及定期,短时间间隔。这可以作为针对3次攻击中所有的缓解机制。
  • 让您的应用程序拒绝与服务器端记录不匹配的会话cookie,以防止被锁定。