Security 使用其他提供商身份验证服务(如Soundcloud)时令牌身份验证中的安全性?

Security 使用其他提供商身份验证服务(如Soundcloud)时令牌身份验证中的安全性?,security,authentication,soundcloud,session-storage,http-token-authentication,Security,Authentication,Soundcloud,Session Storage,Http Token Authentication,用户通过Soundcloud Connect按钮登录过程 按下网站上的按钮,使用api服务器生成的随机令牌启动会话,而无需对Soundcloud上的用户进行身份验证 用户被重定向到Soundcloud身份验证页面(Soundcloud登录页面) 用户应输入他/她的Soundcloud帐户信息 按下connect后,api端调用一个方法,根据SoundCloud发送的参数创建用户及其身份验证。api服务器将用户重定向到主页,clientside中的脚本将令牌设置为标题,作为对网站的授权 现在,我关

用户通过Soundcloud Connect按钮登录过程

  • 按下网站上的按钮,使用api服务器生成的随机令牌启动会话,而无需对Soundcloud上的用户进行身份验证
  • 用户被重定向到Soundcloud身份验证页面(Soundcloud登录页面)
  • 用户应输入他/她的Soundcloud帐户信息
  • 按下connect后,api端调用一个方法,根据SoundCloud发送的参数创建用户及其身份验证。api服务器将用户重定向到主页,clientside中的脚本将令牌设置为标题,作为对网站的授权 现在,我关心的是在用户通过soundcloud连接之前启动会话,即使用户不连接soundcloud就无法进入主页


    这种验证用户身份的技术是否安全?潜在的攻击是什么?

    这种方法会使您容易受到会话固定的攻击

    攻击场景如下所示:

  • 攻击者诱使用户使用已知会话密钥(通常通过XSS等其他漏洞)
  • 用户使用SoundCloud进行身份验证,会话密钥保持不变
  • 攻击者使用相同的会话密钥连接到您的应用程序,从而接管会话

  • 虽然这种攻击并不十分常见,但在野外看来,标准程序是在任何身份验证发生后始终发出新的会话密钥。

    此问题更适合: