Frage

Ich versuche herauszufinden, welchen Algorithmus die Client -Anwendung verwendet, um den Sitzungsschlüssel zurückzugeben.

Wenn ich eine Verbindung initiiere, sendet der Server zunächst einen eindeutigen Sitzungsschlüssel. Der Client muss dann mit einem verschlüsselten oder Hashed -Passwort antworten und zusammen mit dem Benutzernamen an den Server senden.

Beispielnetzwerkverfolgung zwischen Client und Server: (Benutzername: Serv1ce / Passwort: Test12)

APP von Server << 52 D7 1C 3F 9F 2C 05 C9 (einmalige Sitzungsschlüssel)
App an Server gesendet >> 11 83 2d 7d ff 0c 51 8c 53 45 52 56 31 43 45 20

Der "53 45 52 56 31 43 45 20" -Teil ist der Benutzername im klaren Text als Byteswerte (SERV1CE).

Weiß jemand, wie die Bytes "11 83 2d 7d ff 0c 51 8c" mit dem Kennwort 'Test12' und dem 64 -Bit -Sitzungsschlüssel (8Bytes) erstellt wurden "52 D7 1C 3F 9F 2C 05 C9"?

War es hilfreich?

Lösung

Wenn sie einen kryptografisch sicheren Hash verwenden, sollten Sie im Prinzip von Eingabe und Ausgabe dies nicht in der Lage sein, dies zu entdecken.

In der Praxis kehren sie 8 Bytes zurück, was 64 Bit beträgt, was darauf hindeutet, dass sie eine Variante von MD5 verwenden. Wenn sie typische Praxis folgen, haben sie wahrscheinlich irgendwie eine Zeichenfolge erstellt, die eine Kombination aus Benutzername, Passwort, Sitzungsschlüssel und geheimen Hash enthält, dann hat es dann gehasht. (Beachten Sie, dass ich typische Praxis und nicht bewährte Praxis sagte. Die beste Praxis besteht darin, für diesen Zweck etwas langsam zu berechnen, ein solches Bcrypt.) Wenn Sie die magische Kombination herausfinden, haben Sie die Antwort.

Sie haben zwei anständige Ansätze. Am einfachsten ist die Brute Force -Suche. Wenn Sie nach suchen md5 gpu cracking Sie können viele Tools finden, mit denen Sie MD5 -Berechnungen auf Ihre Grafikkarte abladen können. Diese sind ideal für die Brute -Force -Suche und können Sie eine erstaunliche Anzahl von Variationen des obigen Themas ziemlich schnell ausprobieren. (Die Machbarkeit dieses Angriffs ist der Grund, warum Menschen Bcrypt für solche Dinge verwenden sollten.)

Das andere ist, dass Sie die Anwendung haben. Es gibt verschiedene Möglichkeiten, um zu verfolgen, was tatsächlich in der Anwendung passiert, wenn sie diese Berechnung tut. Es ist gelingt, das herauszufinden, und Sie werden die Antwort haben.

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