mad*_*ad_ 3 java cookies web-applications session-cookies
我正在为一家企业开发一个安全的网站。我希望它完全免受所有已知漏洞的影响。我遇到了创建安全 cookie 并启用 HTTPOnly 的问题,但在那个例子中,他们使用 cookie 值作为会话 ID。我不明白。用这种方式会不会有威胁?
您需要将会话 ID 发送到客户端并返回到服务器,以便将来自该客户端的请求与会话进行匹配。
AFAIK 只有两种方法可以传递会话 ID:作为 cookie 或作为参数(在大多数情况下,这将是支持获取请求的 url 参数)。通过参数发送会话 id 是一个漏洞,因为攻击者可以提供一个带有预制会话 id(会话固定)的链接,而对 cookie 做同样的事情至少很难(如果不是不可能的话)。
但是,通过 url 参数发送会话 ID 不仅是一个安全问题。假设有人复制了 url 并将其发送给某人(“嘿,看看这个”)或将其发布在网络上的某个地方。只要会话存在,访问该链接的每个人都会使用相同的会话并相互影响。当然,无论会话(ip、mac 地址等)如何,都有多种方法可以识别用户,但这些措施通常不可行或强加其他限制(例如,您将如何处理漫游移动用户?)。