什么是session fixation攻击
Session fixation有人翻译成“Session完成攻击”,实际上fixation是确知和确定的意思,在此是指Web服务的会话ID是确知不变的,攻击者为受害着确定一个会话ID从而达到攻击的目的。在维基百科中专门有个词条
http://en.wikipedia.org/wiki/Session_fixation,在此引述其攻击情景,防范策略参考原文。
攻击情景
原文中Alice是受害者,她使用的一个银行网站http://unsafe/存在session fixation漏洞,Mallory是攻击者,他想盗 窃Alice的银行中的存款,而Alice会点击Mallory发给她的网页连接(原因可能是Alice认识Mallory,或者她自己的安全意识不强)。
攻击情景1:最简单:服务器接收任何会话ID
过程如下:
1.Mallory发现http://unsafe/接收任何会话ID,而且会话ID通过URL地址的查询参数携带到服务器,服务器不做检查
2.Mallory给Alice发送一个电子邮件,他可能假装是银行在宣传自己的新业务,例如,“我行推出了一项新服务,率先体验请点击:http://unsafe/?SID=
I_WILL_KNOW_THE_SID,
I_WILL_KNOW_THE_SID是Mallory选定的一个会话ID。
3.Alice被吸引了,点击了 http://unsafe/?SID=
I_WILL_KNOW_THE_SID,像往常一样,输入了自己的帐号和口令从而登录到银行网站。
4.因为服务器的会话ID不改变,现在Mallory点击 http://unsafe/?SID=
I_WILL_KNOW_THE_SID后,他就拥有了Alice的身份。可以为所欲为了。
攻击情景2:服务器产生的会话ID不变
过程如下:
1.Mallory访问 http://unsafe/ 并获得了一个会话ID(SID),例如服务器返回的形式是:Set-Cookie: SID=0D6441FEA4496C2
2.Mallory给Alice发了一个邮件:”我行推出了一项新服务,率先体验请点击:http://unsafe/?SID=0D6441FEA4496C2
3.Alice点击并登录了,后面发生的事与情景1相同
攻击情景3:跨站cookie(cross-site cooking)
利用浏览器的漏洞,即使 http://good 很安全,但是,由于浏览器管理cookie的漏洞,使恶意网站 http://evil/ 能够向浏览器发送 http://good 的cookie。过程如下:
1.Mallory给Alice发送一个邮件“有个有趣的网站:http://evil 很好玩,不妨试试”
2.Alice访问了这个链接,这个网站将一个会话ID取值为I_WILL_KNOW_THE_SID 的 http://good/ 域的cookie设置到浏览器中。
3.Mallory又给Alice发了个邮件:“我行推出了一项新服务,率先体验请点击:http://good/”
4.如果Alice登录了,Mallory就可以利用这个ID了
在javaEE中, 情景1应该是不可能的吧, 因为session的ID都是由服务器产生的
对于现在的浏览器,情景3估计也是不可能的吧.
只有情景2最靠谱, 先自己访问下某网站,获取自己的session ID,然后把这个sessionID拼接在网址后面发给别人访问,只要那个人一登录, 我们也就相当于登录了
原文出自http://www.360doc.com/content/11/1028/16/1542811_159889635.shtml
分享到:
相关推荐
6. **管理Session ID**:类可能还提供了管理Session ID的功能,如`regenerate_id`方法,用于在特定条件下生成新的Session ID,防止Session Fixation攻击。 7. **安全措施**:为了提高安全性,类可能包含了防止...
在Web开发中,Session是一种非常...在实际开发中,还需要考虑到Session的过期策略、安全性(防止Session Hijacking和Session Fixation攻击)以及性能优化(如Session的持久化存储和集群环境下的Session共享)等问题。
6. **安全性考虑**:使用memcached共享session时,需要注意安全问题,例如防止session hijacking(会话劫持)和session fixation攻击。可以使用HTTPS、定期刷新session ID、限制session的有效范围等方式增强安全性。...
同时,定期清理无用的Session,防止Session Fixation攻击。 9. **性能优化**:过多的Session可能会消耗大量服务器资源,因此需要合理设计Session策略,如适当设置Session Timeout,减少无效Session的存在,或者采用...
**会话固定攻击(Session Fixation)** 会话固定攻击是一种网络安全性问题,攻击者通过在用户登录前预先设定一个已知的会话ID(Session ID),然后在用户登录后继续使用这个固定的会话ID,从而能够控制或劫持用户的...
4. **Session Regeneration**:定期更换Session ID,提升安全性,防止Session Fixation攻击。 在实际应用中,Cookie和Session各有优缺点。Cookie存储在客户端,不占用服务器资源,但安全性较低,且大小和数量有限制...
- **Session Fixation**:避免使用用户提供的Session ID,以防止Session Fixation攻击。 - **加密Cookie**:对Cookie内容进行加密,防止中间人攻击。 - **时间限制**:设置合理的Cookie有效期,过期后自动失效。 - *...
- **防止Session Fixation攻击**:通过在用户登录后重新生成Session ID来防止此类攻击,确保即使Session被恶意复制,攻击者也无法继续使用。 ### 方法安全控制 Spring Security不仅限于Web层的安全控制,还提供了...
5. **安全考虑**:为了防止Session Hijacking或Session Fixation攻击,开发者需要采取措施,如定期更新session ID,限制session的有效时间,以及在用户登出时清除相关cookie。 总的来说,`jsp`中的`Filter`过滤器是...
虽然 CAS 提供了便利的身份验证,但也需要注意安全问题,如防止 Session Fixation 攻击、保护 Service Ticket 不被截获、定期清理无效票证等。开发者应遵循最佳实践,确保 CAS 配置的安全性。 总结,CAS 作为一个...
Acegi提供了一套完整的会话管理机制,包括会话固定保护(防止Session Fixation攻击)、会话超时检测和会话同步。它还可以监控并发会话,防止同一用户在同一时间使用多个设备登录。 7. **异常处理**: 当用户尝试...
但是,Session也存在一些安全隐患,例如Session劫持和Session fixation攻击等。为了防止这些攻击,我们需要对Session进行安全配置。 本文所介绍的解决方案,就是在web.xml配置文件中添加一条init-param标签,用于...
- `session_regenerate_id()`: 生成新的session_id,用于安全目的,如防止Session Fixation攻击。 - `session_unset()`: 清除当前Session的所有变量。 - `session_destroy()`: 结束当前Session,删除与之关联的...
8、Session固定攻击(SessionFixation) 9、HTTP响应拆分攻击(HTTPResponseSplitting) 10、文件上传漏洞(FileUploadAttack) 11、目录穿越漏洞(DirectoryTraversal) 12、远程文件包含攻击(RemoteInclusion) 13、动态...
2. **防止Session Fixation**:在用户成功登录后,重新生成session ID,避免攻击者利用预先知道的session ID进行攻击。 3. **定期刷新session**:设置合理的session超时时间,并在用户活动时更新session的最后活跃...
8.Session 固定攻击(Session Fixation) 9.HTTP响应拆分攻击(HTTP Response Splitting) 10.文件上传漏洞(File Upload Attack) 11.目录穿越漏洞(Directory Traversal) 12.远程文件包含攻击(Remote Inclusion...
5. **安全防护**:防止Session Hijacking(会话劫持)和Session Fixation(会话固定)攻击,定期更新Session ID,避免预测和重用。 综上所述,Session过期问题是Web开发中的重要环节,涉及到用户身份验证、用户体验...
6. **安全性**:session管理必须考虑到安全性问题,如防止session hijacking(会话劫持)和session fixation攻击。为此,通常需要定期刷新session ID,使用安全的cookie设置,并且在处理敏感信息时加密session数据。...
在IT行业中,尤其是在Web开发领域,...在实际开发中,还需要考虑其他因素,如防止`session hijacking`(会话劫持)和`session fixation`(会话固定)攻击,以及优化`session`管理,避免过多的`session`占用服务器资源。