仅在第一次请求时拥有Jsessionid的漏洞是什么?

Jen*_*cks 3 security jsessionid

最近我们从URL中删除了jsessionid做了基于cookie的会话管理,以防止"会话劫持攻击"

但我们发现,当启用cookie并且后续请求URL没有jsessionid时,第一个请求URL始终具有jsessionid.

使用第一个网址的jsessionid,我们可以直接点击工作流程中的其他页面

问题:是否有任何安全漏洞仅在第一次请求时暴露jsessionid?

有一个解决方案可以从第一个请求中删除jsessionid,但是想要检查一下,如果它真的很容易要求更改

谢谢J

编辑:我澄清了我的疑问.谢谢你的回复.

Ror*_*une 7

你在这里做了什么可以在一定程度上提高解决方案的整体安全性,但不一定会阻止会话劫持.

将会话ID放在URL中的安全性问题是URL在各个地方公开(例如,复制和粘贴的URL可以公开实时会话,URL可以存储在代理服务器日志,Web服务器日志和浏览器历史记录中),可能允许攻击者获取有效的会话ID并访问您的用户数据.

理想情况下,您应该从所有位置的URL中删除JSESSIONID,并且仅使用cookie存储.

此外,如果您想要缓解会话劫持,还需要考虑其他一些方面.

您需要在传递会话ID的所有页面上使用SSL(这是为了降低会话ID在传输过程中被截获的风险(例如,Firesheep攻击).

如果在对用户进行身份验证之前设置了会话ID,则应确保在用户登录时发出新的会话ID.

如果可能的话,会话cookie应该使用httpOnly和安全标志,以降低它们通过明文通道泄露的风险.

OWASP网站上有一些很好的附加信息

顺便说一句,如果您对安全方面有更多疑问,那么在Security.stackexchange.com上有专门用于此的堆栈交换站点.