嗨,我最近阅读了JSP并遇到了它的技术,主要是会话.在会话中,我读取URL重写已经完成的方法之一,以维持与客户端的会话.但是,由于URL重写会使用会话ID更改URL,因此客户端可以看到它.这不是安全问题吗?让我们举个例子说,如果任何一个注意到这个会话ID除了特定用户,并且可以很好地利用它?或者有防止这些的技术?
如果我错了,请纠正我.
当然这是一个安全问题.如果您快速记下该jsessionid
值,可以是其他人错误地使用公共copypasted URL,也可以是公开发布的一些HTTP调试工具(Firebug)的屏幕截图,其中显示了请求/响应标头,并且该网站通过以下方式维护用户:登录,然后只需将jsessionid
cookie 附加到URL或请求标头,您就可以在同一用户下登录.很快,因为这些会话在30分钟不活动后默认过期.这称为会话固定攻击.
您可以完全禁用URL重写,以便jsessionid
永远不会出现在URL中.但是你仍然对会话固定攻击很敏感,一些黑客可能在公共网络中安装了HTTP流量嗅探器,或者某些木马/病毒,甚至使用XSS来了解这些cookie.需要明确的是,这个安全问题不是特定于JSP,PHP,ASP或任何通过基于cookie的会话维护登录的网站,对此非常敏感.
为了确保登录安全,请让登录和登录流量通过HTTPS而不是HTTP,并使cookie仅为HTTPS(安全).