Charles Proxy non può acquisire il messaggio inviato tramite connessione SSL [chiuso]

1

Ho installato l'app Charles Proxy e può catturare la mia richiesta / risposta https inviata attraverso il browser. Ora invece di usare il browser, ho un'app che imposta una connessione SSL al server, quindi l'app costruisce un messaggio HTTP e invia tramite la connessione SSL. Ricevo risposta dal server, quindi credo che tutto funzioni correttamente. Ma in qualche modo Charles Proxy non riesce a catturare il messaggio che ho inviato. Tecnicamente penso che quello che faccio non sia diverso da ciò che fa il browser. Ma devo essere sbagliato qui.

Quindi cosa c'è di sbagliato qui?

    
posta namanhams 08.07.2015 - 19:41
fonte

2 risposte

0

Se ho capito bene, la tua configurazione è

app - mobile configured to proxy web requests - Charles Proxy on a PC - target server

Se è così, questa è una configurazione corretta, ma il traffico SSL potrebbe essere problematico, in quanto il proxy intercetterà il traffico SSL e l'applicazione potrebbe riconoscere questo come un attacco MitM (si aspetta di vedere il certificato giusto, ma ottiene il uno da Charles Proxy).

Puoi provare a navigare sul cellulare verso un sito http e vedere se il traffico viene intercettato.

  • Se lo è, allora probabilmente avrai difficoltà ad analizzare il traffico dall'app in quanto si difenderà da chi percepisce di essere un MitM.

  • Se non lo è, il proxy sul cellulare non è impostato correttamente

risposta data 08.07.2015 - 19:49
fonte
0

È possibile installare il certificato dell'autorità di certificazione Charles sul dispositivo mobile e provare a eseguire nuovamente il proxy. Probabilmente l'applicazione sta ricevendo un errore che indica un certificato non valido.

Se ciò non aiuta, è possibile che l'applicazione non stia utilizzando il proxy indicato nelle impostazioni di rete. Questo è molto comune Se si utilizza un dispositivo Android rooted (come qualsiasi sviluppatore dovrebbe), è possibile utilizzare un proxy di intercettazione per forzare l'instradamento di tutte le connessioni a Charles. Uno buono è ProxyDroid.

Questo non aiuta se l'app utilizza il pinning del certificato: non si fiderà mai del certificato di Charles. Per ignorarlo, puoi decomprimere l'app, cambiare il certificato e reinserirlo nuovamente.

    
risposta data 08.07.2015 - 21:07
fonte

Leggi altre domande sui tag