`
holdbelief
  • 浏览: 709936 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于Session Fixation

阅读更多

  前两天我转了篇文章到pst的邮件列表,是关于在struts 2框架下重新生成session的,引起了一些讨论,我觉得有必要在这里提醒下程序员们,可能他们早就遗忘了这种威胁了。
  JSESSIONID Regeneration in Struts 2
  实际上这就是一种针对Session Fixation 的防范。
  Session Fixation 翻译过来就是 “Session 完成攻击”,以前的老的应用里可能比较常见这种问题,但是随着现在web应用越来越复杂,这种问题已经很少了。
  先理解这个攻击,打个比方:
  1. 你花钱买了一辆车
  2. 你把车钥匙复制了一把
  3. 你把这辆车卖给了一个冤大头
  4. 冤大头同学花钱买了辆2手车,结果在某天你趁他不在,用事先复制好的钥匙把车开走了!

  这个过程就是一个 Session Fixation 的过程,车钥匙就是 Session ID
  这类问题的本质在于:WEB应用在认证后没有改写或者更新session,从而导致了认证前的session还能使用。
  如果攻击者事先能够获知该session ID,则可以欺骗用户使用该session ID进行认证,认证后,由于session ID不变,但是该session变成了一个认证后的session,从而攻击者可以直接使用该session ID以用户身份通过系统的认证。
  在Web环境里,用户浏览页面时服务器会产生一个session,然后session ID会放在客户端,比如在浏览器URL里,或者是cookie里。用户持有这个session ID,服务器就可以找到他的session。用户输入用户名和密码后,系统对该session进行认证。认证成功,该session就是一个认证后的session,服务器就知道该用户认证过了,用户访问认证页面时就不再需要每次输入用户名和密码了。
  比如lqqm论坛,就是把session ID放在url里



 
  常见的利用Session Fixation的方法一般是发送一个link到邮件里,诱骗用户点击后登录,使得该session通过认证,比如:
  http://www.fvck.com/auth?session=xxxxxxx
  要对抗这种攻击,很简单,就是认证后重新生成一个session就可以了,甚至是增改当前session都能起到这个目的。
  像lqqm论坛,在登录后马上就把session重写了。tomcat等也是如此。
  而现在大部分的网站、论坛等复杂的WEB应用,一般是把session ID放在cookie中,而用户登录后,cookie里一般会多很多东西,这些多出来的东西也可以保证用户不受sesssion fixation攻击的影响。
  不过,session fixation攻击作为一种漏洞类型,不仅仅局限于用户登录的部分,只要是任何需要“认证”的地方,都需要考虑到这种威胁。
  • 大小: 33.5 KB
分享到:
评论

相关推荐

    Session Fixation Test:安全会话固定测试-开源

    **会话固定攻击(Session Fixation)** 会话固定攻击是一种网络安全性问题,攻击者通过在用户登录前预先设定一个已知的会话ID(Session ID),然后在用户登录后继续使用这个固定的会话ID,从而能够控制或劫持用户的...

    php session操作类

    6. **管理Session ID**:类可能还提供了管理Session ID的功能,如`regenerate_id`方法,用于在特定条件下生成新的Session ID,防止Session Fixation攻击。 7. **安全措施**:为了提高安全性,类可能包含了防止...

    Session实现用户存储

    在Web开发中,Session是一种非常...在实际开发中,还需要考虑到Session的过期策略、安全性(防止Session Hijacking和Session Fixation攻击)以及性能优化(如Session的持久化存储和集群环境下的Session共享)等问题。

    跨域共享session (实现http跳转https 共享session)

    2. **防止Session Fixation**:在用户成功登录后,重新生成session ID,避免攻击者利用预先知道的session ID进行攻击。 3. **定期刷新session**:设置合理的session超时时间,并在用户活动时更新session的最后活跃...

    J2EE的13种核心技术.pdf

    ### J2EE的13种核心技术详解 #### 引言 Java从最初的浏览器脚本语言逐渐进化成为服务器端开发的主流技术,其中J2EE(Java 2 Platform, Enterprise Edition)平台扮演了至关重要的角色。J2EE由一系列服务、APIs和...

    session共享插件

    6. **安全性考虑**:使用memcached共享session时,需要注意安全问题,例如防止session hijacking(会话劫持)和session fixation攻击。可以使用HTTPS、定期刷新session ID、限制session的有效范围等方式增强安全性。...

    session过期问题

    5. **安全防护**:防止Session Hijacking(会话劫持)和Session Fixation(会话固定)攻击,定期更新Session ID,避免预测和重用。 综上所述,Session过期问题是Web开发中的重要环节,涉及到用户身份验证、用户体验...

    Session登录注销

    在IT行业中,尤其是在Web开发领域,...在实际开发中,还需要考虑其他因素,如防止`session hijacking`(会话劫持)和`session fixation`(会话固定)攻击,以及优化`session`管理,避免过多的`session`占用服务器资源。

    Session

    - Session安全:防止Session Hijacking(会话劫持)和Session Fixation(会话固定)等攻击,需要确保Session ID的安全传输,避免被第三方截取或预测。 标签 "源码" 暗示了我们将深入到Session的实现代码层面。理解...

    session共享

    同时,定期清理无用的Session,防止Session Fixation攻击。 9. **性能优化**:过多的Session可能会消耗大量服务器资源,因此需要合理设计Session策略,如适当设置Session Timeout,减少无效Session的存在,或者采用...

    spring-session-1.3.1.RELEASE.zip

    1.3.1.RELEASE 可能包含了针对会话固定攻击(Session Fixation)和其他会话相关的安全威胁的防护措施。同时,它也可能提供了更丰富的会话超时和过期策略,以防止非法会话的持续存在。 4. **性能优化**:针对大型高...

    spring security 3.x session-management 会话管理失效

    在Spring Security中,会话管理主要涉及到会话固定防护(Session Fixation Protection)和会话超时(Session Timeout)。 2. **会话固定防护** - 会话固定攻击是一种常见的安全威胁,攻击者通过获取用户的会话ID来...

    springmvc session

    5. **Session Fixation Protection**: 为了防止 Session 固定攻击,Spring MVC 提供了自动的 Session 固定保护,当用户登录成功后,会自动创建一个新的 Session 并替换原有的 Session ID,避免恶意用户利用未过期的...

    Cookie,Session开发大全

    4. **Session Regeneration**:定期更换Session ID,提升安全性,防止Session Fixation攻击。 在实际应用中,Cookie和Session各有优缺点。Cookie存储在客户端,不占用服务器资源,但安全性较低,且大小和数量有限制...

    day21丁智杰基于session的登录验证.zip

    Django默认使用加密的cookie来存储session ID,但开发者还需要考虑防止session hijacking(会话劫持)和session fixation(会话固定)等攻击。 5. **配置设置**:Django的session配置允许开发者调整session的存储...

    springboot_session_redis_colony.zip

    可以使用Spring Security等工具进行会话管理,如会话固定保护(session-fixation protection)。 总结,通过Spring Session与Redis的结合,我们可以构建一个高可用的会话集群,解决分布式环境下的会话共享问题。...

    PHP100视频教程32:PHP5中Cookie与.Session详解.rar

    - 安全性:相比Cookie,Session数据存储在服务器,相对更安全,但Session劫持和 fixation攻击仍然是需要防范的风险。 三、Cookie与Session的区别与选择 1. 数据存储位置:Cookie存储在客户端,Session存储在...

    PHP漏洞全解

    8、Session固定攻击(SessionFixation) 9、HTTP响应拆分攻击(HTTPResponseSplitting) 10、文件上传漏洞(FileUploadAttack) 11、目录穿越漏洞(DirectoryTraversal) 12、远程文件包含攻击(RemoteInclusion) 13、动态...

    php漏洞大全

     8.Session 固定攻击(Session Fixation)  9.HTTP响应拆分攻击(HTTP Response Splitting)  10.文件上传漏洞(File Upload Attack)  11.目录穿越漏洞(Directory Traversal)  12.远程文件包含攻击(Remote Inclusion...

Global site tag (gtag.js) - Google Analytics