- Expediere
- 17 septembrie 2026 la 03:13 UTC
- Autor
- Kamo
- Comite
- 08b81d7
Fluxul de conectare Meta a avut încredere în URL-ul său. GET ***************** au luat legăturaId şi s-au întorsUrl de la șir de interogare cu nici o sesiune, iar starea a fost nesemnată bază64 (connectionId Oricine stia un UUID-ul conexiunii ar putea rula fluxul cu contul lor de Facebook propriu și suprascrie jetonul de pagină al organizației, astfel încât mesagerul orga / Instagram inbox ar primi pagina atacatorului. Și returnUrl a fost o redirecționare deschisă pe gazda API: ************* a răspuns la 302 ca exemplu.invalid (văzut live). Acum nimic despre care conexiune este scris, sau în cazul în care browserul merge în continuare, vine de la un URL: - POST / Connect-start (nou) are nevoie de sesiunea de membru și MANAGE CRM SETTINGS, dreptul la fiecare altă schimbare la o nevoile de conexiune socială. Conexiunea trebuie să aparțină organizației membre (răspunsurile unui alt org ca o Lipsește unul) și să fie MESSENGER sau INSTAGRAM. Acesta stochează o singură utilizare în Redis (membru, org, conexiune, și un URL de întoarcere OauthReturnUrlPoliticy aprobat) şi răspunsuri {startUrl } la redirecţionarea gazdei URI. - GET / start? intenţia = răscumpără intenţia cu GETDEL, mentează un stat de unică folosinţă aleator deţinut de server-side, şi stabileşte un cookie-ul de legare a browser-ului (HttpOnly, Secure, SameSite=Lax, way-scoped; numai SHA-256 este stocat). O lipsă, a petrecut sau moștenire ?connectionId = cerere este o pagină 400, niciodată o redirecționare. - GET / Callback răscumpără statul cu GEDEL, curăță cookie-ul, refuză un browser care nu este cel care a început, re-verifica că membrul este încă eligibil și încă în organizația de legătură, și redirecționează numai către URL-ul de întoarcere stocat. Schimbul de pagini este neschimbat. OAuthReturnUrlPolicy acceptă un URL https cu o cale pe o origine consolă această utilizare a membrilor organizației (propria sa utilizare domeniu live, fiecare organizație în sus lanțul de securitate-furnizor, platforma), toate alese de OrgLinkHosts, și reconstruiește-l din părțile sale parsed; orice altceva devine propria consolă a orgii plus calea ecranului. Setările schimba ecranul care apelează navele conect-start în kamo-internă. Până când se activează butonul vechi păstrează în lipsa modului în care a făcut-o deja: a navigat către /api/media/... pe consola gazdă, care nu are o astfel de rută. Teste: MetaOauthControllerTest plimbă fluxul prin MockMvc cu un grafic API care ar conecta pagina, astfel încât fiecare Refuzul este cecul. Dezactivează verificarea cookie-ului, reverificarea eligibilității, verificarea org sau o singură utilizare fiecare pică un test. OAuthReturnUrlPolicyTest pini acceptate și refuzat URL-uri. Apartament complet: 953 teste, 0 eșecuri.