跨域cookie - 一个可能是新想法

Rap*_*ger 18 javascript cookies cross-domain

我的好友Carsten Lau提出了一个关于如何阅读跨域cookie的有趣想法.

情况:您想要从域"B"上设置的域"A"中读取cookie.想法:从域"A"上的客户端,您对域"B"上的动态资源执行get-request - fe图像或javascript,服务器"B"实际上是一种能够读取cookie的编程语言像PHP,Java等.通过该请求,您可以发送一个唯一的标识符,如会话ID.因此,查看域"A"上的站点的客户端上的代码可能如下所示:

<img src="www.domainB.com/?getCookie.php?sessionID=1234">
Run Code Online (Sandbox Code Playgroud)

现在是有趣的部分,服务器B在服务器端读取由域"B"设置的cookie,并将结果与​​提供的session-id一起写入域"A"可访问的DB中,或者返回包含cookie信息的响应域"A"上的客户端然后通过AJAX将其发送到服务器"A".

我很确定我们还没有发现一个漏洞.我个人认为服务器"B"将无法读取cookie信息,因为客户端浏览器URL指向域"A",但当然上面解释的"getCookie" - 请求指向"B".

请告诉我们您对它的看法,工作原理或无法工作的原因.令我惊讶的是,一个小小的概念证明是成功的.

Dar*_*rov 16

这是正常的,因为您可以控制2个域.这就是大多数网站如何实现跨域单点登录的方式.但是,如果您无法控制第二个域,则无法从中读取cookie.

  • 当然,你是对的,但是大多数时候,当你在寻找设置跨域cookie时,一直都有简单(和错误)"不可能"的答案.如果您拥有这两个域,则完全没有问题. (4认同)