给定适当的 XSS 漏洞,攻击者可以使用传入和传出服务器的数据劫持某人的会话。
为什么会话不总是专属于它们开始的 IP?即,网站/服务何时需要跨多个 IP 地址保持经过身份验证的会话?我不确定为什么会话允许这样做,因此我不明白这对攻击者来说是一条可行的路线。
给定适当的 XSS 漏洞,攻击者可以使用传入和传出服务器的数据劫持某人的会话。
为什么会话不总是专属于它们开始的 IP?即,网站/服务何时需要跨多个 IP 地址保持经过身份验证的会话?我不确定为什么会话允许这样做,因此我不明白这对攻击者来说是一条可行的路线。
首先,将会话链接到 IP 地址不会使其安全,因为服务器可以看到许多不同的用户出于各种原因使用相同的 IP 地址(所有类型的代理服务器,例如:客户端、反向代理、CDN 等。 )。
其次,同一个用户很可能对同一个会话使用不同的 IP 地址。例如,有人可能从同一设备在网络之间切换。
因此,由于它无效并且会导致可用性和可扩展性问题,因此通常不会启用该功能。
过去,AOL 因其在其内部网络和 Internet 之间的所有出口代理之间积极负载平衡流量而臭名昭著。这意味着对单个网页及其内容的请求将来自许多不同的 IP 地址:如果您将会话固定到单个 IP 地址,则会话将在“登录成功”页面完成加载之前中断。
这种负载平衡不太常见,但如果有人使用“网络加速器”代理或技术含量较低的 ISP,仍然会发生这种情况。较慢的班次更为常见,例如,如果有人使用无线 ISP 并且每次更换基站时都会获得一个新地址。
将会话固定到单个 IP 地址可以使会话窃取攻击更加困难,但它的代价是阻止某些人完全使用您的服务,并给其他人带来降级的体验。
攻击者可以从同一地址连接到服务器。例如,攻击者和受害者使用相同的 WiFi。
此外,如果他/她有多个到服务器的路由并且用户的 IP 经历了网络地址转换,则可能会给用户带来问题。
反对将会话绑定到特定 IP 地址的另一个原因是称为“Happy eyeballs”(是的,真的!)。
它基本上是一种在使用双栈连接(支持 IPv4 和 IPv6)时尝试检测建立连接的最佳方式的机制。
一些操作系统非常积极地这样做,例如 OS X 甚至会(例如)尝试通过 IPv6 加载它自己的网页,然后通过 IPv4 加载一些图像以获得更好的基准。
当然,由于 IPv4 和 IPv6 使用您无法关联的完全不同的地址,当您将 IP 地址绑定到会话时会发生非常奇怪的事情。