Security 在URL中发送会话令牌的安全问题到底是什么?

Security 在URL中发送会话令牌的安全问题到底是什么?,security,session,Security,Session,我正在构建一个基于Struts后端的Flex客户端,我必须找到一种不依赖cookie传输会话令牌的方法,因为在Flash电影中 我正在考虑将令牌放在消息体或URL中。从安全角度来看,把它放在URL中有点不好的名声。然而,我只是阅读了会话劫持、CSRF和XSS,我真的不明白为什么它会比cookies更糟糕。如果说有什么区别的话,那就是当您访问某个特定域时,没有透明发送的cookie会更安全,或者是这样吗 基本上,我能看到的唯一原因是令牌在请求中是可见的,并且可能通过浏览器历史记录、web服务器日志

我正在构建一个基于Struts后端的Flex客户端,我必须找到一种不依赖cookie传输会话令牌的方法,因为在Flash电影中

我正在考虑将令牌放在消息体或URL中。从安全角度来看,把它放在URL中有点不好的名声。然而,我只是阅读了会话劫持、CSRF和XSS,我真的不明白为什么它会比cookies更糟糕。如果说有什么区别的话,那就是当您访问某个特定域时,没有透明发送的cookie会更安全,或者是这样吗


基本上,我能看到的唯一原因是令牌在请求中是可见的,并且可能通过浏览器历史记录、web服务器日志等泄漏。这到底有多糟糕,有没有办法降低风险?还有什么其他风险吗?

这有多糟糕?嗯,我们的一个竞争对手有一个从他们基于会话的内部页面到我们网站的链接,我在服务器日志中看到了它。使用/sess/sess_34984923_34423423/类型的东西快速复制和粘贴,我以该用户的完全访问权限登录到他们的系统幸运的是,他们不是管理员,也不是银行/电子邮件等超级安全的东西:但仍然如此

此外,根据具体的实现方式,包括会话令牌在内的完整url可以由代理服务器缓存,如果用户使用Google工具栏,甚至可以由Google缓存


我完成Flash会话交互的方法是将HTML中Flash参数中的会话标识符发送到Flash,然后Flash将其发送回服务器。我发现大多数浏览器/闪存组合也会发送cookie,我会对其进行进一步验证。

这有多糟糕?嗯,我们的一个竞争对手有一个从他们基于会话的内部页面到我们网站的链接,我在服务器日志中看到了它。使用/sess/sess_34984923_34423423/类型的东西快速复制和粘贴,我以该用户的完全访问权限登录到他们的系统幸运的是,他们不是管理员,也不是银行/电子邮件等超级安全的东西:但仍然如此

此外,根据具体的实现方式,包括会话令牌在内的完整url可以由代理服务器缓存,如果用户使用Google工具栏,甚至可以由Google缓存


我完成Flash会话交互的方法是将HTML中Flash参数中的会话标识符发送到Flash,然后Flash将其发送回服务器。我发现大多数浏览器/闪存组合也会发送cookie,我会对其进行进一步验证。

我有一个轶事要告诉你。我在为美国一家知名公司填写一些文件。他们打印出一个由web应用程序生成的对抗页面,我怎么知道?在页面窗口的打印管理器的底部包含包含JSSESSIONID的URL


让我澄清一下,员工刚刚递给我一张纸,让我可以立即登录,就好像我有他们的用户名和密码一样。多阿

我有一件轶事要告诉你。我在为美国一家知名公司填写一些文件。他们打印出一个由web应用程序生成的对抗页面,我怎么知道?在页面窗口的打印管理器的底部包含包含JSSESSIONID的URL


让我澄清一下,员工刚刚递给我一张纸,让我可以立即登录,就好像我有他们的用户名和密码一样。多阿

我建议您进一步阅读一个名为的非常严重的安全主题,该主题允许恶意攻击者在用户拥有会话id后模拟用户。

我建议您进一步阅读一个名为的非常严重的安全主题,该主题允许恶意攻击者在用户拥有会话id后模拟用户。

对,我忘记了Referer标题,这已经够糟糕的了。关于Flash如何以及何时发送会话cookie,您是否有更详细的信息?我有点认为它会,但至少对于JSESSIONID,它不会。另外,通过该方法,然后将其发送回服务器,您的意思是,它会自动执行此操作,并且您会在请求的哪一部分执行此操作?您是否可以将会话值绑定到其原始IP以及可能的用户代理字符串散列?这可能会让它更安全一些,但如果多人从同一ip连接,就像公司网络、多个家庭用户一样,这远不是完美的。在使用Flash时,我看到一些浏览器发送Flash用户代理而不是自己的,所以Wayne先生的不起作用。我发现在PHP下使用了一个自定义cookie名称,所有主要浏览器都在检查它。最后一段,我有一个flashparameter,Flash通过AMF调用发送回服务器。你是在使用AMF还是Flash和服务器之间的其他通信系统?是的,我忘记了Referer头,这已经够糟糕了。你有没有更详细的关于Flash是如何以及何时实际运行的信息
发送会话cookie?我有点认为它会,但至少对于JSESSIONID,它不会。另外,通过该方法,然后将其发送回服务器,您的意思是,它会自动执行此操作,并且您会在请求的哪一部分执行此操作?您是否可以将会话值绑定到其原始IP以及可能的用户代理字符串散列?这可能会让它更安全一些,但如果多人从同一ip连接,就像公司网络、多个家庭用户一样,这远不是完美的。在使用Flash时,我看到一些浏览器发送Flash用户代理而不是自己的,所以Wayne先生的不起作用。我发现在PHP下使用了一个自定义cookie名称,所有主要浏览器都在检查它。最后一段,我有一个flashparameter,Flash通过AMF调用发送回服务器。您是在使用AMF还是在Flash和服务器之间使用其他通信系统?