Frage

Ich habe eine Client -Anwendung, die eine Verbindung zu einem Webdienst über HTTPS herstellt. Ich muss den gesamten Netzwerkverkehr zwischen dem Webdienst und meinem Kunden "schnüffeln", um zu überprüfen, ob alles in Ordnung ist, dh ich muss die Verbindung debuggen.

Ich habe Wireshark ausprobiert, aber da ich keinen privaten Key im Server habe, sind die Daten auf dem Wireshark -Bildschirm natürlich verschlüsselt.

Gibt es eine Möglichkeit, den SSL -Netzwerkverkehr zwischen meinem Client und dem Webdienst zu beobachten, wenn ich keinen Zugriff auf Server selbst und damit private Schlüssel und andere verwandte Dinge habe?

Danke im Voraus.

War es hilfreich?

Lösung

Sieh dir das an: Debugging SSL -Kommunikation.

Ich weiß, dass es theoretisch erledigt werden kann - Sie können einen Proxy einrichten, der mit dem Zielwebservice kommuniziert und Ihre Anwendung über diesen Proxy herstellen kann. Es ist eine bekannte Einschränkung - HTTPS geht davon aus, dass Sie allen auf Ihrem Computer installierten Proxy und Zertifikaten vertrauen. Es ist eine Form von Mann-in-the-Middle-Angriff.

Sehen ob Geiger wäre von irgendeiner Verwendung.

MAN-in-the-Middle-Angriffe

Bei einem Mann-in-the-Middle-Angriff fängt der Angreifer den Benutzerverkehr ab, um Anmeldeinformationen und andere relevante Informationen zu erfassen. Der Angreifer verwendet dann diese Informationen, um auf das tatsächliche Zielnetzwerk zuzugreifen. Während des Prozesses dient der Angreifer normalerweise als Proxy/Gateway, das dem Benutzer eine falsche SSL -VPN -Site vorlegt. Dieser Proxy/Gateway übergibt die Authentifizierung, die der Benutzer auf die reale Zielseite eingeht.

Andere Tipps

Haben Sie Python installiert?

PIP -Installation Mitmproxy

Mitmproxy -P 1234

Sogar a Video für dich

(Übrigens musste ich Python-lxml auf Debian Squeeze nach einem APT-Get-Update installieren)

Burp Suite (Sogar Free Edition) ermöglicht es Ihnen, einen SSL -Proxy festzulegen, ein anderes Zertifikat in Ihrer Bewerbung und den Datenverkehr für Sie entschlüsselt (und anzeigt). Und wenn Sie auch mit dem Server in Localhost testen möchten, können Sie auch den Proxy festlegen (etwas, das ich mit Wireshark in Windows und Fiddler nicht tun konnte).

Wenn Sie keinen Zugriff auf den privaten Schlüssel des Servers haben, können Sie nicht viel tun, um zu sehen, was durch SSL/TLS geschützt wird. (Sie werden zumindest den ersten Handschlag sehen.)

Wenn Sie die gesamte Kontrolle über den Client haben, können Sie einen gefälschten Server mit einem privaten Schlüssel und Zertifikat schreiben, das Sie kontrollieren, und das alles, was der Client an den tatsächlichen Server gesendet hat, weiterleitet. Dazu müssen Sie den Kunden dazu bringen, Ihrem eigenen Zertifikat zu vertrauen, daher benötigen Sie die Kontrolle über den Kunden. Es könnte einfacher sein, das entsprechende zu optimieren hosts Datei auf dem Client, um auch das DNS -Spoofing durchzuführen, um Verbindungen zum richtigen Hostnamen herzustellen, gehen Sie stattdessen zu Ihrem gefälschten Server.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top