I pacchetti di rete catturano ciò che viene crittografato in un dispositivo?

1

I pacchetti di rete acquisiscono ciò che viene crittografato nel mio dispositivo prima che venga inviato all'host? Per esempio. In instagram quando esegui l'accesso da un dispositivo mobile. Si invia una richiesta di posta. In tale richiesta di post hanno username, password e un parametro chiamato "signed_body", il suo valore è hash (crittografato), quindi ogni utente ha un valore unique_body unico.

Finora sto sniffando pacchetti dal mio dispositivo iOS. Ottengo i pacchetti usando wireshark. Ho un sacco di pacchetti. Quindi mi chiedevo se questi pacchetti avessero il valore signed_body decrittografato. GOAL = (Se lo facessero, otterrei quel valore e lo cancellerei da solo ed effettuerei chiamate al server di instagram in un formato accettato).

Solo così le persone hanno l'aspetto di firmatario. Sto sniffando i protocolli HTTP usando MiTM Proxy. Instagram esegue il hashing di questi signature_body per ogni utente e per quasi tutte le richieste, quindi è unico ogni volta. Quindi stavo dando per scontato che wireshark mi fornisca tutti i pacchetti in cui uno potrebbe essere la chiave decodificata

Idatisonoinmodalitàesadecimale.

    
posta Biplov Dahal 20.09.2016 - 00:56
fonte

1 risposta

1

Possiamo vedere (nel dump esadecimale) che il payload della richiesta POST è codificato in url e contiene due valori: signed_body e ig_sig_key_version . Il primo contiene una stringa che è composta da 64 caratteri (che sono probabilmente una rappresentazione esadecimale di 32 byte) seguita da un punto e un JSON, il più tardi è un numero intero. E questo è il carico utile.

TLS trasporta questo payload su una connessione crittografata (e attendibile, a meno che tu non abbia un mitmproxy e ti fidi di fiducia). E questo è tutto ciò che TLS fa. In parole semplici, stai confondendo i livelli OSI, TLS protegge il livello di trasporto ma il carico utile è a livello di applicazione. TLS trasferirà qualsiasi nello stesso modo, ovvero il payload conteneva clowns= invece di signed_body= TLS non gli interesserebbe affatto.

Indipendentemente dal fatto che signed_body sia (a parte il fatto che sia un JSON che contiene il nome utente, la password e le informazioni sul dispositivo) dipende dal design dell'app instagram, ma sicuramente non è completamente correlato a TLS. Possono o non possono usare una qualche forma di hash cristallografico per generare i primi 64 caratteri dal contenuto JSON più un numero casuale. Oppure (più probabilmente) usano quei 64 caratteri come token di protezione CSRF, che viene scambiato con il server su ogni richiesta.

    
risposta data 20.09.2016 - 03:21
fonte

Leggi altre domande sui tag