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

swa*_*ash 6 security session session-fixation session-hijacking session-replay

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

提前致谢

Nar*_*arf 5

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

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

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

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

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

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

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

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