Negli ultimi anni, i protocolli SSO come OAuth e SAML stanno diventando sempre più utilizzati per consentire a terze parti di accedere a risorse di alcuni utenti da alcuni servizi senza che l'utente debba fornire le credenziali a terze parti.
Uno di questi esempi sono i gateway di pagamento:
- L'utente seleziona un prodotto che desidera acquistare
- L'utente viene reindirizzato alla pagina del gateway per inserire i dettagli della sua carta di credito
- L'utente viene reindirizzato al sito web del commerciante e il commerciante riceve la conferma dal gateway di pagamento che la transazione ha avuto esito positivo, senza conoscere i dettagli della carta di credito dell'utente
Quando viene utilizzato un browser web, mi è chiaro che posso essere sicuro di trovarmi in una pagina gateway legittima, guardando il nome nella barra degli indirizzi e vedendo che il certificato è ok (se mi fido del pagamento gateway).
Ci sono anche alcune app mobili mercantili che usano SSO, incorporando il browser nell'app per reindirizzare l'utente al gateway di pagamento. Tuttavia, in quelle app non vedi la barra degli indirizzi né il certificato del gateway. Quindi, come puoi essere sicuro di inserire i tuoi dati nella pagina del gateway di pagamento anziché nell'app del commerciante?
Una app di questo tipo che ho visto è un'app di ordinazione alimentare locale.
EDIT: come ha sottolineato @Anthony Russell, puoi utilizzare alcuni strumenti per annusare il traffico e vedere cosa sta realmente accadendo. Se un'app utilizza HTTPS, puoi utilizzare Burp / Zap / mitmproxy. Se utilizza SSL ma non HTTPS, potresti provare a invertire l'engeneer dell'applicazione, ma ciò richiederebbe più tempo.