Robert Heaton è un ingegnere di software presso Stripe. Questo post è apparso originarialmente sul suo blog, in cui parla di programmazione, tecnologia, cultura tra le altre cose. Ed è anche su Twitter.PreparazioneSiete coinvolti in una battaglia titanica di scherzi e colpi bassi con il vostro amico storico, nonché nemico mortale, Steve. La settimana scorsa Steve ha superato il limite e ha fatto alcune cose al vostro personaggio di World of Warcraft di cui preferireste non parlare. E ora è ufficialmente guerra aperta.
Pubblicità
Dovete colpirlo dove gli fa più male. Distruggere qualcosa che gli sta a cuore. Dovete riuscire ad accedere al suo account di Tinder.Sono le quattro del pomeriggio. Tu e Steve state cazzeggiando camera sua. Lui è andato in cucina a farsi un panino e ha commesso l'errore fatale di lasciare il computer acceso. Tu hai scoperto di aver bisogno solo di qualche minuto con la sessione aperta di Facebook sul suo laptop per entrare nel suo account di Tinder dal tuo telefono. E non avrai un'altra occasione.Grazie a un attento studio delle sue abitudini sai che per merenda si prepara sempre un panino al burro di arachidi, e che avrai a disposizione circa 2 minuti, forse 3 se avrà difficoltà a trovare il barattolo di burro di arachidi che hai strategicamente nascosto dietro la senape. Che i giochi abbiano inizio.Fase 1— I CookieTi sei allenato per giorni ma sai che 3 minuti non saranno sufficienti per completare il piano. Ma sei tranquillo. Puoi usare questi pochi minuti per mandare la sua sessione di Facebook dal suo computer al tuo e continuare poi il piano in un altro momento.La sua sessione si trova sui cookie del suo browser. Se arrivi ai cookie del suo facebook.com, ottieni la sua sessione.Apri Chrome, cerchi la console sviluppatori e ti trovi davanti alcune stringhe Javascript. Ma document.cookies ti dà solo 6 degli 11 cookie di Facebook. Gli altri 5, quelli con i dati della sessione che ti interessano, sono tutti segnati come httponly e sono totalmente inaccessibili da Javascript. I secondi passano.
Pubblicità
Ti ricordi che Chrome archivia i suoi cookie in un database sqlite3 in ~/Library/Application\ Support/Google/Chrome/Default/. Perfetto.
Tutte le immagini: Robert Heaton
Sono crittati. Sei in un vicolo cieco. E il tempo continua a passare.Ma puoi usare gli strumenti per sviluppatore di Chrome per ispezionare una richiesta HTTP a facebook.com e vedere quali cookie contiene, ma prima ti ricordi dell'esistenza di un'utile estensione di Chrome chiamata EditThisCookie. Questa estensione è in grado di importare ed esportare cookie molto velocemente, dato che Chrome ha accesso a tutti i cookie, anche quelli segnati come httponly.

Lo installi alla velocità della luce, clicchi "export" e mandi alla tua email i cookie serializzati come JSON:
Lo disinstalli e cancelli la cronologia del browser per evitare sospetti. Accendi il tuo laptop, importi i cookie usando la stessa estensione e vai su facebook.com. Si materializza l'account di Steve. Hai l'accesso. Finché Steve non fa il log out e disabilita la sessione condivisa, la fase 1 è completa.Steve torna con il suo enorme panino in mano. Ma è troppo tardi. Ce l'hai fattaFase 2—Il ProxyE ora la parte più difficile, arrivare da una sessione di Facebook su un computer a una sessione di Tinder su un iPhone. Hai passato un po' di tempo a trafficare con i cookie. Devi solo pregare che basti.Scarichi la versione gratuita di Burp Suite Proxy. La setti;non ci metti più di qualche minuto. Installi il certificato Burp Suite SSL sul tuo computer, setti il proxy sul tuo computer e connetti il telefono.
Pubblicità
Ora è il tuo momento Man-In-The-Middle.Con le mani che sudano, disinstalli l'applicazione di Facebook dal tuo cellulare per essere sicuro che le tue richieste auth di Facebook si aprano su Safari. Fai il log out dal tuo account di Tinder. Gertrude, 26 anni, può aspettare. La tua missione no.
Appare la schermata di log in di Tinder. Schiacci "Log in con Facebook" e vieni reindirizzato a una pagina autenticazione di Facebook su Safari, che è connessa a Facebook con i tuoi dati. Metti giù il tuo telefono e torni al computer
Apri Burp Suite e scopri il log per la richiesta HTTP GET per la pagina auth aperta sul tuo telefono. Copi l'URL nel browser del tuo laptop, che è loggato su Facebook con i cookie rubati come Steve Steveington. Beatamente incurante del fatto che non abbia senso, mostri la schermata auth di Facebook, chiedendo se Steve Steveington vuole autorizzare Tinder. Tu sai benissimo che non lo farebbe mai. Fai una pausa e guardi la faccia del tuo amico, sporca di burro di arachidi. Ne avete passate tante assieme. Ma non è il momento per abbandonarsi a sentimentalismi. Schiacci ok.
Torni su Burp Suite e scopri il log per la richiesta HTTP POST per l'autenticazione. Copi la risposta HTTP su Evernote per dopo.
Questi pochi kB di testo contengono l'auth crittato che ti porterà ad accedere all'account di Tinder di Steve. Ora devi solo mandarlo sul tuo cellulare. È il momento del colpo di grazia.
Pubblicità
Attivi la modalità "Intercept" su Burp Suite, che intercetterà le richieste HTTP e le risposte in modo che tu possa ispezionarle e editarle prima di mandarle alla loro destinazione. Torni sulla schermata auth di Faceook sul tuo telefono, dove sei ancora loggato con i tuoi dati. Schiacci "OK". Burp Suite intercetta le richieste HTTP, ma tu le permetti. Quando ti arriva il responso fai una pausa.
Il responso è in un formato leggermente diverso da quello precedente. È quello che dirà a Safari di trasferire il controllo e ti dà un auth crittato di FB per Tinder. Ma tu vuoi che passi il token di autenticazione di Steve. Apri Evernote e copi il responso della stessa richiesta auth che hai fatto sul tuo computer usando l'account Facebook di Steve. Copi tutto, da fb464891386855067 fino a expires_in=6361, e rimpiazzi la sezione corrispondente nel responso che è ancora aperto su Burp Suite. Mandi questo responso modificato con il token auth di Steve cifrato al suo interno sul tuo telefono.Per un minuto che sembra non passare mai il tempo si ferma.Ma poi appare l'account Tinder di Steve Steveington. Ce l'hai fatta. Lacrime di gioia e di sollievo ti rigano le guance, e cambi tutte le sue foto con immagini di Gary Busey e inizi a informare tutti i suoi match sulle sue disgustose abitudini riguardo l'igiene personale.

L'EpilogoPer motivi che l'autore non conosce dopo circa 30-45 minuti dall'accesso dell'account di Tinder di Steve, una richiesta GET a facebook.com/v2.1/me?format=json&sdk=ios torna a 400, con:
Pubblicità
{"error":{"message":"Error validating access token: The session is invalid because the user logged out.","type":"OAuthException","code":190,"error_subcode":467}}oppure{"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException","code":2500}}Tinder impazzisce e ti fa fare il log out. Ma non sai perché.Ma scopri anche che Monica, 28, è una grande fan di Arma Letale. Lei e Steve ora hanno due bambini e vivono in un appartamento a San Josè.Ripubblicato da Robertheaton.com