在身份验证之前设置会话令牌会导致安全问题吗?

问题描述 投票:0回答:1

我创建了一个网站登录页面,其工作方式如下:

  • 用户加载网站后,服务器会设置一个随机的 26 个字符的字母数字令牌 cookie。 (此 cookie 设置为 HTTPOnly=true、Secure=true、SameSite=default。)
  • 一旦用户成功登录,服务器就会“激活”令牌。 (这意味着服务器将此令牌与相关帐户相关联,页面刷新并显示用户的仪表板,这要归功于现在用作会话令牌的 cookie。)

我主要担心两个问题:

  • 任何知道该令牌值的人都可以通过替换 cookie 的值并刷新页面来登录该用户的会话。
  • 如果有人在身份验证之前将令牌的值替换为任何字母数字字符串(例如“authToken=helloworld”),然后登录,则字符串“helloworld”将与该用户的会话关联,从而允许任何人登录使用相同的技术参加本次会议。

黑客是否能够在用户的浏览器上将此cookie设置为特定的字符串值,等待用户登录,最后使用该特定的字符串值来访问用户的会话?也许通过使用某种跨站点技术?

token cross-domain csrf xss cross-site
1个回答
0
投票

这基本上是会话固定漏洞的定义,所以是的,它确实是一个安全漏洞,而且它甚至还有一个名称。 :) 它可能允许会话劫持。

攻击者可能在登录之前访问受害者的浏览器,可以设置或记录当前会话 ID,并在受害者登录后使用它,就像您所描述的那样。

实际上如何利用这一点可能会有所不同,例如通过未经身份验证的跨站点脚本、应用程序从用户输入中获取会话 ID(即 url 参数),或者攻击者只是物理访问受害者的计算机,等等.

© www.soinside.com 2019 - 2024. All rights reserved.