Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security Url重写-这会导致安全问题吗?_Security_Jsp_Session - Fatal编程技术网

Security Url重写-这会导致安全问题吗?

Security Url重写-这会导致安全问题吗?,security,jsp,session,Security,Jsp,Session,您好,我最近阅读了JSP,了解了它的技术,主要是session。在session下,我阅读了URL重写方法之一,该方法是为了维护与客户机的会话而执行的。但由于URL重写会使用会话ID更改URL,因此客户端可以看到该URL。 这不是安全问题吗?比如说,如果有人把这个会话ID和特定的用户分开,并且可能会不好地使用它?或者有技术可以防止这些 如果我错了,请纠正我。我相信你指的是无烹饪课程。尽管我在Java圈子里见过它被称为“url重写” 还有一些额外的会话劫持问题(它们适用于所有支持无Cookie会话

您好,我最近阅读了JSP,了解了它的技术,主要是session。在session下,我阅读了URL重写方法之一,该方法是为了维护与客户机的会话而执行的。但由于URL重写会使用会话ID更改URL,因此客户端可以看到该URL。 这不是安全问题吗?比如说,如果有人把这个会话ID和特定的用户分开,并且可能会不好地使用它?或者有技术可以防止这些


如果我错了,请纠正我。

我相信你指的是无烹饪课程。尽管我在Java圈子里见过它被称为“url重写”

还有一些额外的会话劫持问题(它们适用于所有支持无Cookie会话的web开发框架,而不仅仅是JSP)。但即使使用cookie,会话劫持也是可能的

这里有一篇关于MSDN的非常深入的文章,介绍了无cookieless会话及其风险/好处。同样,这些都是平台不可知论


(底部)

当然这是一个安全问题。如果您很快注意到
jsessionid
值,或者是其他人错误地在公共复制粘贴的URL中看到的值,或者是某个HTTP调试工具(Firebug)在公共发布的屏幕截图中看到的值,其中显示了请求/响应头,并且相关网站通过登录维护用户,然后,只需将
jsessionid
cookie添加到URL或请求头,就可以在同一用户下登录。很快,因为默认情况下,这些会话会在30分钟不活动后过期。这叫做攻击

您可以完全禁用URL重写,以便
jsessionid
永远不会出现在URL中。但是你仍然对会话固定攻击很敏感,一些黑客可能在公共网络中安装了HTTP流量嗅探器,或者被某些特洛伊木马/病毒感染,甚至使用XSS来了解这些cookie。需要明确的是,这个安全问题并不是特定于JSP的,PHP、ASP或任何通过基于Cookie的会话维护登录的网站对这个问题同样敏感


为了确保登录的安全,让登录和登录的流量通过HTTPS而不是HTTP,并使cookie仅为HTTPS(安全)。

在大多数(如果不是所有)安全圈中,不鼓励URL重写会话cookie。OWASP ASV明确禁止使用它,因为它会通过不安全的介质暴露会话标识符

当启用会话cookie的URL重写时,URL可能会(与会话标识符一起)传输到其他站点,从而导致通过HTTP Referrer标头泄露会话标识符。事实上,浏览器对位于另一个域上的资源的简单请求将导致可能的劫持(通过中间人攻击)或会话固定;这相当于站点中的跨站点脚本漏洞


另一方面,当站点执行Cookie的URL重写时,不能再使用其他保护机制,如引入到各种浏览器中的HttpOnly和Secure Cookie标志,以不同方式保护会话Cookie。

,但是为什么这不是特定于JSP的呢?JSP
HttpSession
JSSessionID
cookie支持。PHP
$\u会话
PHPSESSID
cookie支持。ASP
Session
ASPSESSIONID
cookie支持。如果您将登录用户存储在会话中,那么哪种语言更敏感与否并不重要。JSP
jsessionid
只是更多的新闻,因为一些Java服务器/框架默认启用了URL重写。哦,好吧,我误解了你所说的,谢谢你的回答。所谓会话固定实际上就是会话劫持。劫持意味着攻击者使用受害者的会话id。会话固定意味着攻击者让受害者使用攻击者准备好的会话,例如,让他们请求包含攻击者会话id的链接。有人能提供更多信息吗“您可以完全禁用URL重写,以便jsessionid永远不会出现在URL中”