我对CORS的理解是,如果页面请求来自不同域的数据,浏览器将在发出请求时为浏览器用户使用不同域的cookie。这是否会导致以下安全漏洞的可能性?
假设我正在使用开放式CORS运行a.com(接受所有请求)。什么阻止b.com向JS中的a.com发送请求到受保护的端点(通过cookie auth)并从a.com上的用户帐户获取一些信息,然后将其上传到b.com后面场景?如果浏览器包含cookie,那么服务器无法知道它是真实用户还是假装成用户的其他网站。
我在这里遗漏了什么,或者这是否可能?
这假设当前的浏览器用户访问了a.com,登录了a.com,之后访问了b.com
答案 0 :(得分:0)
是什么阻止b.com向JS中的a.com发送请求到受保护的端点(通过cookie auth)并从a.com上的用户帐户获取一些信息然后上传一切都在幕后?
没有
您正在使用开放式CORS运行。
这意味着您明确授予任何网站读取您要发送给用户浏览器的数据的权限。
同源政策的目的是防止这种情况发生。 CORS允许您关闭该安全功能。
设置完全开放的CORS允许任何站点访问您为用户提供的数据。当有数据无法为每个站点提供时,您不应设置完全开放的CORS。