Cross-domain-cookies - une nouvelle idée peut-être

Mon copain Carsten Lau est venu avec une idée intéressante sur la façon de lire de la croix-de-domaine-des cookies.

Situation: Vous voulez lire un cookie de domaine "Une" qui a été mis sur le domaine "B".
Idée: à Partir du client sur le domaine "A", vous exécutez une requête pour une ressource dynamique sur le domaine "B" – f.e. une image ou javascript, qui, sur le serveur "B" est en fait un langage de programmation capable de lire des cookies comme PHP, Java, etc. Avec cette demande, vous envoyer un identifiant unique comme un id de session. Donc le code sur le client qui ressemble à un site sur le domaine "Une" pourrait ressembler à ceci:

<img src="www.domainB.com/?getCookie.php?sessionID=1234">

Maintenant vient la partie drôle, le serveur B lit sur le côté serveur le cookie défini par le domaine "B" et écrit le résultat avec la session-id soit dans une base de données accessible par le domaine "A" ou renvoie une réponse qui contient les informations du cookie au client sur le domaine "A" qui l'envoie ensuite via AJAX au serveur "Un".

Je suis assez sûr il y a une faille, nous n'avons pas trouver encore. Personnellement, je crois que le serveur "B" ne sera pas en mesure de lire les témoins informations parce que le client navigateurs points de l'URL de domaine en "Une", mais bien sûr, le "getCookie"demande expliqué ci-dessus, points à "B".

S'il vous plaît dites-nous ce que vous en pensez, pourquoi ça marche ou pourquoi il ne peut pas travailler. Une petite preuve de concept a été, à ma grande surprise, un succès.

  • Cela devrait fonctionner. En fait, c'est la façon dont les sites web de gérer les connexions pour les utilisateurs de différents domaines, car les domaines de partager des bases de données qui contiennent des données de session.
  • Merci. Partout sur internet et ici AINSI, vous pouvez lire "la croix de domaine cookies = impossible" alors qu'en fait que de simples hack donne la possibilité, si vous possédez les deux domaines, et peut ajouter un petit script sur le domaine "B"? Étrange...
  • Il n'y a rien d'étrange à ce sujet. Vous n'êtes pas de la lecture ou de la définition d'un cookie pour un domaine différent ici – qu'il est impossible de simplement votre domaine. Si vous avez “l'aide” de l'autre domaine, il y a peu de “cross-domain” à ce sujet – vous d'obtenir l'info par le choix de l'autre domaine; considérant que la croix-domaine de la politique est en place pour empêcher que cela se produise lorsque l'autre domaine ne le veut pas.
  • Comment pourrais-je faire ce cookie de données utilisable dans mon php?
  • Maintenant, nous avons une ébauche ietf(dite "SameSite" attribut) pour interdire ce comportement: tools.ietf.org/html/draft-west-first-party-cookies-07