Seul un membre autorisé peut connecter une page Facebook ou Instagram, et seulement revenir à sa propre console.

FixMediaService
Expédié
17 septembre 2026 à 03:13 UTC
Auteur
Kamo
Commite
08b81d7

Le flux de connexion Meta a fait confiance à son URL. GET - a pris connectionId et returnUrl from la chaîne de requête sans session, et état n'a pas été signé base64 (connectionId-returnUrl). Tous ceux qui connaissaient un L'UUID de connexion pourrait exécuter le flux avec leur compte Facebook de PROPRE OWN et écraser le jeton de la page de cette organisation, Ainsi, la boîte de réception Messenger/Instagram de l'organisation recevrait la page de l'attaquant. Et returnUrl était une redirection ouverte sur l'hôte API: a répondu 302 à exemple.invalid (vu en direct). Maintenant, rien sur la connexion qui est écrite, ou l'endroit où le navigateur va maintenant, vient d'une URL: - POST/connect-start (nouveau) a besoin de la session du membre et de la gestion des projets, le droit à une modification de la même manière les besoins de connexion sociale. La connexion doit appartenir à l'organisation du membre (les autres réponses d'une autre org comme une manquant un) et être MESSENGER ou INSTAGRAM. Il stocke une intention à usage unique dans Redis (rappel d'offres, org, connexion, et un URL de retour OAuthReturnUrlPolicy approuvé) et répond - startUrl - sur l'hôte de l'URI de redirection. - GET/start?intente l'intention avec GETDEL, plie un État à usage unique aléatoire du serveur, et définit un cookie de liaison de navigateur (HttpOnly, Secure, SameSite-Lax, path-scoped; seul son SHA-256 est stocké). A disparu, La demande de l'ex-connexion de l'entreprise est une demande de 400 pages, jamais une redirection. - GET/callback rache-retour avec GETDEL, efface le cookie, refuse un navigateur qui n'est pas celui qui a commencé, vérifie à nouveau que le membre est toujours éligible et reste dans l'organisation de la société, et redirige uniquement vers l'URL de retour stockée. L'échange page-token lui-même est inchangé. OAuthReturnUrPolicy accepte une URL https avec un chemin sur une origine de console utilisée par les membres de cette organisation (sa propre domaine live, chaque organisation jusqu'à sa chaîne de fournisseurs de services, la plate-forme), toutes choisies par OrgLinkHosts, et le reconstruit à partir de ses parties coupées; tout le reste devient la propre console de l'orge plus le chemin de l'écran. L'écran des paramètres changent de système qui appelle les navires de mise en service de connexion en kémo-interne. Jusqu'à ce qu'il déploie l'ancien bouton reste échouant comme il l'a déjà fait: il a navigué vers /api/media/... sur l'hôte de la console, qui n'a pas une telle voie. Tests: MetaOAuthControllerTest franchit le flux à travers MockMvc avec une API graphique qui pourrait connecter la page, donc le refus est l'exercice du contrôle. Désactivation du contrôle du cookie, du re-contrôle de l'admissibilité, du contrôle de l'organisation ou de l'utilisation unique chacun échoue à un test. OAuthReturnUrlPolicyTest broches acceptées et refusées URL. Suite complète: 953 tests, 0 échec.

Tous les changements

Comme ce que tu vois expédier ?

Tout cela arrive dans votre espace de travail par lui-même. Commencez sur le plan gratuit et relisez cette page dans un mois.

Commencez gratuitement pour toujoursPrix de visualisation