MITM Proxy - Überprüfung der Validierung von SSL-Zertifikatketten

1126
Chris

Ich versuche die SSL-Zertifikatüberprüfung unserer Android-App zu überprüfen.

Ich habe MITM Proxy auf meinem Mac und verwende den Mac als Proxy für mein Android-Handy. Ich kann alle http / s-Anforderungen von Android in MITM Proxy auf dem Mac sehen.

Im CERT Tapioca-Intro ( http://www.cert.org/blogs/certcc/post.cfm?EntryID=203 ) heißt es am Ende der Seite:

Wie bereits erwähnt, handelt es sich bei einer mit https: // URL in mitmproxy erstellten URL entweder um eine Anwendung, die SSL-Zertifikatsketten nicht überprüft, oder Sie haben das ungültige Zertifikat manuell akzeptiert. Wir können dies einfach programmgesteuert überprüfen:

grep "schema, 5: https" ~ / logs / flow.log

Dieser Befehl bestimmt, ob der Client Daten erfolgreich über die HTTPS-Verbindung gesendet oder abgerufen hat.

Kann jemand erklären, wie dieser Befehl "bestimmt, ob der Client Daten erfolgreich über die HTTPS-Verbindung gesendet oder abgerufen hat"? Soweit ich das beurteilen kann, findet dieser Befehl nur Instanzen von "schema 5: https" in der Protokolldatei ... aber wie verwende ich diese Informationen, um zu verstehen, was los ist?

0
Der Befehl findet tatsächlich nur eine Instanz der Zeichenfolge in der Protokolldatei. Der Schlüssel ist, dass die Zeichenfolge nur in der Protokolldatei angezeigt wird, wenn Sie HTTPS als Protokoll verwenden. Sie können HTTPS nur als Kommunikationsprotokoll verwenden, wenn die Anwendung keine SSL-Zertifikatsketten validiert oder Sie das ungültige Zertifikat manuell akzeptiert haben. denn das von mitmproxy bereitgestellte Zertifikat ist sicherlich nicht das gültige Zertifikat für die Site. ssnobody vor 9 Jahren 1
Wenn ich also die MITMProxy-Zertifizierungsstelle von meinem Android-Gerät entferne und immer noch Anrufe mit https erhalte, bedeutet dies, dass das Zertifikat nicht ordnungsgemäß überprüft wird. Richtig? Chris vor 9 Jahren 0
Das ist richtig. Dies bedeutet, dass jemand ein Zertifikat bereitstellen kann, das keine gültige Kette für ein installiertes vertrauenswürdiges Stammverzeichnis besitzt, und die betreffende App das Zertifikat weiterhin akzeptiert und zur Kommunikation verwendet. ssnobody vor 9 Jahren 1

1 Antwort auf die Frage

0
user376105

Sie können mit dem Mitmproxy-Terminalfenster interagieren, um zu sehen, was los ist. Sie können Ihre Augäpfel verwenden, um nach URIs zu suchen, die mit "https: //" beginnen, wenn Sie dies tun. Aber Grep scheint weniger fehleranfällig zu sein.

Immer wenn sich dort ein https-URI befindet, bedeutet dies, dass die App erfolgreich Daten über eine HTTPS-Verbindung mit einer ungültigen SSL-Kette gesendet oder empfangen hat. Dies geschah entweder, weil es das ungültige Zertifikat gerade akzeptiert hat oder weil es Sie gewarnt hat und Sie fortgefahren sind.