相同的来源策略是限制一个页面从访问数据访问另一个文档。因为它们有不同的来源,其中SOP定义了一个起源如下。
源定义为协议、主机名和端口.如果页面或文档存在,那么如果SOP与这三个文件相匹配,那么SOP就适用于它。
我想知道
为什么SOP是基于主机名而不是IP地址的??
如果SOP是基于IP地址的,那么我们会遇到什么问题。目前,SOP可以使用DNS攻击,其中重新绑定攻击者希望获得防火墙后的网络访问权,并滥用DNS的启用时间来绕过SOP。
发布于 2018-07-11 16:35:52
在同一个IP地址上有多个域是非常常见的,这些域通常由不同的各方控制。这对于廉价托管和CDN (如Cloudflare )来说都是典型的。只有基于IP地址的相同的起源策略才能使跨域攻击成为可能。这仍然允许同时使用IP地址和主机名作为限制。
此外,同一域可以由多个IP地址承载,例如具有特定于地理的IP地址或基于DNS的负载平衡(即循环DNS)。将SOP限制在同一主机名的特定IP地址将导致意外行为,即有时请求在同一个主机名内工作,有时不工作。因此,将SOP限制在IP上会导致可靠性问题。
这只会使SOP保持当前的状态,即仅限于主机名,而不限制IP地址。不幸的是,这使得它容易受到DNS重新绑定攻击。但是,假设黑客不控制站点原始主机名的DNS,只有当目标主机没有正确检查请求中的Host头(即允许攻击者在请求中控制主机名)时,才能绕过带有DNS重新绑定的SOP。因此,可以通过正确检查服务器上的Host头来减轻此风险。还可以通过使用HTTPS来缓解这种情况,因为服务器没有与攻击者控制的主机名匹配的证书,因此浏览器将拒绝连接。
https://security.stackexchange.com/questions/189369
复制相似问题