会话安全性对于java来说足够了吗?

会话安全性对于java来说足够了吗?,java,jsp,security,session,Java,Jsp,Security,Session,所以我一直在寻找一些关于会话安全性的信息,只能找到与PHP会话相关的信息 现在,我的web应用根据数据库对用户进行身份验证,如果成功,将把他们的用户对象(hibernate实体)作为属性放入HttpSession 然后,我的web应用程序将验证属性是否已设置,并将在以后的所有数据库查询中使用该用户对象,并确认该用户已获得授权 我的web应用程序将管理小型企业的资金和支付,安全是我最关心的问题。如果攻击者能够模拟用户,他们将能够退款并取消销售。付款由stripe处理,因此卡的详细信息将是安全的,但

所以我一直在寻找一些关于会话安全性的信息,只能找到与PHP会话相关的信息

现在,我的web应用根据数据库对用户进行身份验证,如果成功,将把他们的用户对象(hibernate实体)作为属性放入HttpSession

然后,我的web应用程序将验证属性是否已设置,并将在以后的所有数据库查询中使用该用户对象,并确认该用户已获得授权

我的web应用程序将管理小型企业的资金和支付,安全是我最关心的问题。如果攻击者能够模拟用户,他们将能够退款并取消销售。付款由stripe处理,因此卡的详细信息将是安全的,但用户将有API访问权启动退款

将此用户对象设置为HttpSession属性是否足够安全,还是应该添加更严格的安全措施?如果是,请您建议其他方法来保护用户帐户

所有会话都是通过SSL进行的


谢谢

会话状态保持在服务器端,就像在PHP中一样。会话ID由浏览器作为cookie发送,如在PHP中。可以通过窃取用户的会话cookie来模拟用户,但由于流量是使用HTTPS加密的,因此唯一的方法是从浏览器内存或服务器内存中窃取它。

会话状态保持在服务器端,如在PHP中。会话ID由浏览器作为cookie发送,如在PHP中。可以通过窃取用户的会话cookie来模拟用户,但由于通信量是使用HTTPS加密的,因此唯一的方法是从浏览器内存或服务器内存中窃取它。

不,您至少需要担心会话cookie

特别是对于您的应用类型,您应该首先关注SQL注入、会话固定、CSRF、XSS和不安全的直接对象引用


首先,我将使用一个Web应用程序防火墙,比如Apache httpd的ModSecurity。不,您至少需要担心这个问题

特别是对于您的应用类型,您应该首先关注SQL注入、会话固定、CSRF、XSS和不安全的直接对象引用


首先,我会使用一个Web应用程序防火墙,比如ApacheHttpd的ModSecurity,基本上,在处理Java/PHP或任何其他语言的金融应用程序时,您不应该只依赖会话。通过短信至少使用“一次性”密码作为“退款和取消销售”等关键操作的批准

回到java会话,拒绝将会话id存储为请求参数是一个很好的开端——这是防止会话固定的第一个也是最简单的保护(将其添加到web.xml中):


真的
作为复杂的解决方案,请尝试HDIV

基本上,在使用Java/PHP或任何其他语言处理金融应用程序时,您不应该只依赖会话。通过短信至少使用“一次性”密码作为“退款和取消销售”等关键操作的批准

回到java会话,拒绝将会话id存储为请求参数是一个很好的开端——这是防止会话固定的第一个也是最简单的保护(将其添加到web.xml中):


真的
作为复杂的解决方案,请尝试HDIV

也许去?也许去?嗯,有CSRF。。。所以你不一定需要有如此疯狂的访问权限来利用一个不受保护的会话cookie,对吧?没错。通过模拟,我的意思是使用具有其他用户凭据的真实应用程序。CSRF确实可以欺骗真正的用户将数据发布到真正的应用程序中,让他认为自己在另一个应用程序中发布数据。这个问题的解决方案是使用JavaScript发布表单,并将会话cookie作为HTTP头发送,此外还将其作为cookie发送。然后,服务器必须检查标头和cookie是否匹配。或会话固定。或XSS@NeilMcGuigan我把这个问题理解为“Java会话如何工作”。而不是“我需要担心的所有安全方面是什么”。XSS与会话管理没有多大关系。嗯,有CSRF。。。所以你不一定需要有如此疯狂的访问权限来利用一个不受保护的会话cookie,对吧?没错。通过模拟,我的意思是使用具有其他用户凭据的真实应用程序。CSRF确实可以欺骗真正的用户将数据发布到真正的应用程序中,让他认为自己在另一个应用程序中发布数据。这个问题的解决方案是使用JavaScript发布表单,并将会话cookie作为HTTP头发送,此外还将其作为cookie发送。然后,服务器必须检查标头和cookie是否匹配。或会话固定。或XSS@NeilMcGuigan我把这个问题理解为“Java会话如何工作”。而不是“我需要担心的所有安全方面是什么”。XSS与会话管理没有太大关系。谢谢,我之所以选择这个作为答案是因为HDIV。我不知道这个安全框架的存在,现在实施起来感觉好多了。我对其余的答案投了更高的票,因为它们都很好。谢谢大家。如果你想坚持下去,请随时与我联系——我对此有很多练习)谢谢,我选择这个作为答案是因为HDIV。我不知道这个安全框架的存在,现在实施起来感觉好多了。我对其余的答案投了更高的票,因为它们都很好。谢谢大家。如果你想坚持下去,请随时与我联系——我对此有很多练习。)
<session-config>
        <cookie-config>
            <http-only>true</http-only>
        </cookie-config>
    </session-config>