`
yoyayoyayoya
  • 浏览: 14404 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

关于多个浏览器进程间共享session引发的安全漏洞思考

 
阅读更多
    早上在为项目的安全框架做选型,目前选择和测试的是Apache Shiro,以此为基础做web application的应用测试,无意中,发现了可能大家早已知晓的问题。

    1.打开两个同类型的浏览器,(我测试过IE6/7/8、Chorme、Firefox),分别为A、B
    2.我在A中登录应用,然后直接关闭。
    3.我在B中直接通过URL进入应用,这时应用的授权状态和A登录时的状态是一样的,也就是说两个浏览器之间共享了session,A虽然关闭了,但session状态保留到了B中。
   
    起初,我以为是我的框架配置和设计上的失误,但经过测试不是这样,那么我想,这个安全问题漏洞(暂且称为漏洞吧)会造成大的麻烦。
    打个比方,我事先可以打开一个浏览器,再打开一些无关紧要的网站迷惑用户。然后以当前浏览器需要保留网页或者应用的需要为由不能关闭,骗取用户打开新的浏览器登录他的应用。
    高潮来了,如果用户粗心,没有通过注销的方式退出应用,而是直接关闭了浏览器。在用户走后,我可以不费吹灰之力,在已开打的浏览器中,打开用户的应用URL,不用什么破解之道,就可获得用户的应用权限,然后为所欲为。
    我的方式还算是直接笨拙的,如果利用了两个浏览器进程间共享的事实,获取用户应用权限,那么,用户造成的损失算谁的?怪用户安全意识薄弱,退出不用注销吗?这好比在动物园里虽然挂着猛兽危险的告示,而没有安装必要的防护装置一样,出事以后,是不是怪人们没有看告示,而动物园没有反省自己为什么不加防护拦做基础的防护。
    我说的不是很流畅,但我还是觉得这是个问题,您觉得呢?欢迎大家来讨论一下这个问题。
1
1
分享到:
评论
2 楼 yoyayoyayoya 2012-04-02  
谁说的清楚~我考虑一下你的URL重写方式~我尚未清楚Shiro是不是使用cookie~谢谢了
1 楼 scamperdog 2012-04-01  
你和被盗用户可以访问同一台机器?如果这样,你的攻击手段远比这个丰富得多。
如果作为开发者一定要避免这个问题,可以URL重写而不是使用cookie来维护session

相关推荐

    浏览器多窗口共用session引发的混乱

    "浏览器多窗口共用session引发的混乱"这个标题揭示了一个常见但往往被忽视的问题,即当用户在同一浏览器的不同窗口或标签页中打开同一个网站时,它们可能会共享同一份Session数据,这可能导致意料之外的行为和用户...

    nginx实现多个tomcat7直接session共享所需jar包

    标题中的“nginx实现多个tomcat7直接...以上就是关于“nginx实现多个tomcat7直接session共享所需jar包”的详细解释,包括了Session共享的背景、原理以及可能的实现方法。希望这些信息能帮助你理解和解决实际问题。

    Springboot实现多服务器session共享

    Springboot实现多服务器session共享是指在分布式系统中,每个服务器上的Session可以共享,实现 Session 的同步和共享,从而解决了在分布式环境中Session不一致的问题。下面是关于Springboot实现多服务器session共享...

    多开session,开发必备,可一次性打开多个网页登录多个用户,免去来回切换账号的烦恼

    传统的测试方法要求开发人员在多个浏览器窗口和标签页间频繁切换,手动登录和注销不同的用户账号,这种方式不仅耗时而且容易出错。为了提高开发和测试的效率,一款名为“多开session”的工具应运而生。它能够在一个...

    C#不同域名之间的Session共享

    每个域都可以访问这个共享存储来读写Session数据。这种方式灵活且可扩展性好,但需要处理数据同步和安全性问题。 4. **使用HTTP头进行传递**:创建自定义的HTTP头,将Session ID或者其他标识信息包含在请求头中,...

    同浏览器不同窗口不同用户Session问题

    正对java Web项目,同浏览器同时打开两个登录窗口(不同Tag),用不同用户登录,为避免使用同一个Session,需要使用这段代码。否则先登录的用户的Session会变成后登录用户的Session.相关系统使用权限也会变。

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

    综上所述,跨域共享session涉及到多个技术层面,包括浏览器限制、服务器配置、前端处理和安全措施。实现HTTP到HTTPS的session共享需要综合考虑这些因素,并确保在提供便利的同时,保证用户数据的安全。

    多台服务器之间共享session

    以上就是关于多台服务器之间共享Session的主要知识点。通过合理选择和实施Session共享策略,可以有效地提升分布式系统的用户体验和整体性能。具体的实现细节和技术选型需要结合项目实际情况来确定,例如《多台服务器...

    memcached实现多个tomcat 共享一个session

    标题中的“memcached实现多个tomcat共享一个session”是指在分布式系统中,通过使用memcached作为session存储介质,实现多台Tomcat服务器之间的session共享。这样可以确保用户在集群中的任意一台服务器上登录后,其...

    java实现多次HttpURLConnection共享session

    总结来说,Java实现多次HttpURLConnection共享session的关键在于正确处理Cookie,保存服务器返回的Session ID,并在后续请求中携带这个ID。通过这种方式,即使没有浏览器环境,也能模拟登录状态,爬取登录后的内容。...

    session共享方案(tomcat8+redis共享session)

    在分布式系统中,Session共享是一个常见的挑战,尤其是在多个服务器或应用之间需要保持用户状态时。本文将深入探讨一种实现方式——使用Tomcat8与Redis相结合的Session共享方案。该方案旨在确保用户在集群中的任意一...

    weblogic集群配置及session共享

    Session 共享是指在集群环境中,多台服务器之间共享用户的会话信息,以便在用户在不同服务器上访问时,能够保持会话的连续性。 WebLogic 集群配置 ### 创建节点管理器 在 WebLogic 中,节点管理器是管理集群的...

    nginx+tomcat shiro实现多tomcat下session共享

    在这种情况下,如何实现用户登录状态(即session)在多个服务器间的共享就成为一个重要的问题。"nginx+tomcat shiro实现多tomcat下session共享"这一主题,就是探讨在这样的架构中,如何有效管理和共享session。 1. ...

    asp.net 跨子域共享SESSION

    然而,当涉及到多个子域时,标准的Session机制并不支持数据的共享。在跨子域网站间共享Session,是为了提供统一的用户体验,例如在电子商务网站中,用户在购物车(cart.example.com)添加商品后,希望在结账...

    PHP实现多服务器session共享之memcache共享.rar

    "PHP实现多服务器session共享之memcache共享"的主题着重于如何在多台服务器之间有效地存储和同步用户的session数据,以确保用户在不同服务器间的会话状态能够保持一致。本文将深入探讨这一主题,并围绕相关知识点...

    tomcat8集群实现session共享,内含session共享包

    当用户在网站上进行操作时,服务器会为每个用户创建一个唯一的Session ID,并将这个ID存储在用户的浏览器Cookie中。每次用户发送请求时,都会携带这个Session ID,服务器通过这个ID识别出特定的用户,从而保持用户的...

    一个服务器搭多个tomcat导致session丢失,或者同一个IP不同端口,多个应用的session会冲突解决方法

    如:A,B两个服务,在浏览器中登录访问A后,当前打开的浏览器上在开一个选项卡访问B服务后,回过来点击访问A时session丢失,需要重新登录A才可以访问。经过资料查找,发现问题是因为:IP相同认为是同一个域,接收了B...

    springboot +shiro+redis实现session共享(方案二)1

    通过使用 Redis 作为 Session 存储,多个应用服务器可以共享同一个 Session,从而实现分布式 session 共享。 7. 优点 本方案的优点包括: * 实现分布式 session 共享 * 提高系统的可扩展性和灵活性 * 简化了登录 ...

    用redis共享session

    在分布式系统中,由于用户请求可能会被路由到不同的服务器上,因此,如何在多台服务器之间共享session数据成为了一个挑战。这就是“用redis共享session”这个主题所关注的核心问题。 Redis是一个高性能的键值数据库...

    SSM项目集成shiro搭建session共享

    SSM项目集成Shiro搭建session共享是一个常见的需求,特别是在构建分布式系统时,为了实现用户登录状态在多个服务器间的一致性。在这个项目中,我们使用了SpringMvc4.3、Spring4.3、Mybatis3.4作为基础框架,Shiro1.4...

Global site tag (gtag.js) - Google Analytics