Mit wireshark können Sie den Hostnamen herausfinden, wie in einigen anderen Antworten aufgrund von SNI erwähnt. Außerdem können Sie einige Teile von Zertifikaten sehen. Die https-URLs, die Sie gesehen haben, waren wahrscheinlich die URLs von CRL oder OCSP.
Wenn jemand Ihre URLs durch Gehen auf Ihrer Website erreichen könnte Wenn Sie die Größe der zurückgegebenen Seiten mit der Größe der auf Ihrer verschlüsselten Seite zurückgegebenen Seiten vergleichen, können sie Annahmen darüber treffen, welche Seite Ihr Programm aufgerufen hat. Da Sie jedoch einige Parameter in die URL einfügen und diese ausblenden möchten, ist dies in Ihrem Fall kein großer Angriffsvektor. Wenn Ihre URL https: //my.server/api? User = scott&password = tiger&highscore = 12345
lautet und Ihre API immer Seiten zwischen 1000 und 1010 Bytes zurückgibt, hilft es niemandem, 1007 zurückgegebene Bytes zu sehen Bestimmen Sie den Benutzer oder das Kennwort oder wie Sie einen Highscore eingeben.
JEDOCH
https ist nur dann sicher, wenn Sie MITM-Angriffe verhindern. Tools wie fiddler, charles oder mitmproxy leiten Ihren Datenverkehr an sich selbst weiter, legen dem Client ein gefälschtes Zertifikat vor, entschlüsseln den Datenverkehr, protokollieren ihn erneut -verschlüsseln Sie es und senden Sie es an die ursprüngliche Site.
Wenn Ihr Client auf den Truststore des Betriebssystems angewiesen ist, kann der Angreifer sein eigenes Zertifikat in den Truststore einfügen, und Ihr Client bemerkt nichts . Die READMEs der oben genannten Tools enthalten Anweisungen dazu.
Wenn Sie also https verwenden, um die Entschlüsselung zu verhindern, müssen Sie überprüfen, ob das vom Server zurückgegebene Zertifikat korrekt ist, bevor Sie Ihre URL tatsächlich senden . Überprüfen Sie, wie das Anheften von Zertifikaten für Ihr Betriebssystem / Ihre Programmiersprache funktioniert, und verwenden Sie die oben genannten Tools, um sicherzustellen, dass Ihr Client ein gefälschtes Zertifikat erkennt und die URL nicht sendet, bevor Sie es veröffentlichen.