WEB安全:session fixation的防范

来源:互联网 发布:软件商机 编辑:程序博客网 时间:2024/05/17 23:45

   网络安全是现在越来越重要,现在的各种攻击手段很多。比如URL参数的改窜,HIDDEN值的改窜等简单盗窃信息等。

   session fixation攻击也是我们网站开发中必须要解决的一种安全隐患。什么是session fixation?

   下面是网上的一个解释(http://hi.baidu.com/aullik5/blog/item/ebbed3a39e50bcabcbefd0d1.html)。

    【先理解这个攻击,打个比方:
      1. 你花钱买了一辆车
      2. 你把车钥匙复制了一把
      3. 你把这辆车卖给了一个冤大头
      4. 冤大头同学花钱买了辆2手车,结果在某天你趁他不在,用事先复制好的钥匙把车开走了!


      这个过程就是一个 Session Fixation 的过程,车钥匙就是Session ID

 

       这类问题的本质在于:WEB应用在认证后没有改写或者更新session,从而导致了认证前的session还能使用。

      如果攻击者事先能够获知该session ID,则可以欺骗用户使用该session ID进行认证,认证后,由于session ID不变,但是该session变成了一个认证后的session,从而攻击者可以直接使用该session ID以用户身份通过系统的认证。】

 

       为了解决这个问题,我们可以在用户认证成功后重新生产session ID。因此解决方法有以下几种:

       1.认证成功之前不使用session,认证成功后才生产session ID。这样别人伪装的那个session ID由于没有被使用,也就避免了被攻击了。但如果有错误登陆次数的限制功能的话,这个方法好像不可取。

       2.认证成功之前使用session,但认证成功后再重新生成一个新的session ID,原理还是和1一样的。