ticar
Goto Top

Verschlüsselungsart rausfinden?

Hallo Leute,

wie kann ich die Art einer Verschlüsslung rausfinden?

Ich habe das verschlüsselten Passwort und ich habe das Passwort in Klartext. Nun bin ich auf der Suche nach der Verschlüsslungsart.

Um etwas konkreter zu werden: Wie nutzen ein Webshop in dem die Passwörter der User verschlüsselt in der MySQL stehen. Wenn ich ein PAsswort direkt per SQL Befehl setze, dann ist das allerdings nicht die korrekte Verschlüsselung (wieso auch immer der Shophersteller sich nicht daran gehalten hat).

Soweit ich weiß macht MySQL ja eine MD5 Verschlüsselung, oder? Das ist es jedenfalls definitiv nicht.

D.h. anhand eines funktionierendes logins habe ich natürlich beide Wertepaare und versuche dessen Verschlüsselungart herauszubekommen.

Gruß,
Lars
PS: Nicht um die Passwörter zu kacnekn, sondern um per hand korrekte Passwörter zu setzen übrigens und das meine ich 100% ehrlich.

Content-ID: 144622

Url: https://administrator.de/contentid/144622

Ausgedruckt am: 24.11.2024 um 08:11 Uhr

maretz
maretz 11.06.2010 um 08:31:21 Uhr
Goto Top
so einfach geht das nicht...

Aber: Ich würde mal davon ausgehen das du ein MD5-PW hast - welches allerdings von PHP übersetzt wird. D.h. du klickst auf login (oder wie der Button auch immer bei euch heisst) und dann findest du etwas wie (md5($_POST["password"]).
lowbyte1
lowbyte1 11.06.2010 um 08:45:54 Uhr
Goto Top
Hi

MD5 ist keine Verschlüsselung, sonder eine Hashfunktion. Die aber sehr wohl auf Blockchiffren aufbauen.


lowbyte
TiCar
TiCar 11.06.2010 um 09:04:55 Uhr
Goto Top
Hmmm, dann müsste ich es ja mit MD5 auch eintragen können und es sollte funktionieren, bzw. gleich aussehen wie das schon vorhandene. Tut es aber nicht (sonst hätte ich hier ja nicht schreiben müssen).

Ich weiß das MD5 keine Verschlüsselung ist, danke - wird aber landläufig so als Begriff verwendet (siehe google).
lowbyte1
lowbyte1 11.06.2010 um 09:42:52 Uhr
Goto Top
Hi

Aber es ist nicht so. Egal wie es der oder die Beschreibt.
Vieleich hast du einen falschen datentyp !?

Md5 erzeugt 128Bit values.
Wobei aber der string, normalerweise in Hex ausgedrückt 32 byte braucht.


lowbyte
TiCar
TiCar 11.06.2010 um 09:55:56 Uhr
Goto Top
Das wäre z.B. so ein Passwort

a9f0331682260cd71c42a35f2e92ea23:99

Und auffällig ist, dass die 3. letzte Ziffer immer ein Doppelpunkt ist bei den Passwörtern. Vielleicht kommt das jemand bekannt vor.

MD5 Hash wäre das gleiche Passwort so: c45367da96e4e5813b3723b9dc2a3f1e
lowbyte1
lowbyte1 11.06.2010 um 10:52:43 Uhr
Goto Top
Hi

Das ist kein Standard MD5. Also der anfang schon bis zum Double point. Das nach dem : ist nehme ich an wie eine ID, vieleicht User ID.
a9f0331682260cd71c42a35f2e92ea23 Das ist ein 128 Bit Hash = 32byte(128Bit)
: 99 Das wird nehem ich an die ID sein
Kurz gesagt alles dass bis zum Dppelpunkt ist ein 128Bit Hash (muss aber nicht umbedingt MD5 sein, aber ich nehme es schwer an).

Musst du eben heraus finden.


lowbyte
Mitchell
Mitchell 11.06.2010 um 10:58:49 Uhr
Goto Top
Sind die Testpasswörter genau gleich? Auch einen eventuellen Leerstring beachten. Und werden diese mit der gleichen Codierung abgespeichert (UTF, Latin etc.)?

Mfg
Mitchell
RoterFruchtZwerg
RoterFruchtZwerg 11.06.2010 um 11:03:24 Uhr
Goto Top
Oft werden Passwörter vor dem Hashen mit einem "salt" versehen, d.h. es wird ein bekannter String an das Passwort angehängt, bevor der Hash gebildet wird.
In der Datenbank steht also nicht der Hash von "passwort" sondern von "passwortsalt".
Am besten suchst du dir aus einem Shop-System die Funktion raus die das Passwort setzt und schaust da nach. Oder du bittest den Hersteller um die Info, wie du einen gültigen Passwort-Hash erstellen kannst.
Mit raten alleine wirst du nicht weit kommen.
TiCar
TiCar 11.06.2010 um 11:04:59 Uhr
Goto Top
Ja sicher. Das Klartextpasswort zu den obigen beiden Werten wäre übrigens

Klartext: Löffler4
passender Datenbankeintrag: a9f0331682260cd71c42a35f2e92ea23:99

meine MD5 Verschlüsselung zum obigen Wert wäre wie gesagt: c45367da96e4e5813b3723b9dc2a3f1e

Ich weiß ö nicht gerade glücklich, konnte es mir aber nicht raussuchen, bzw. ist nicht meine Idee, sollte aber im Grunde egal sein denke ich. Wie gesagt ich konnte bisher noch nicht rausfinden, wie diese Shopanwendung die Passwörter verschlüsselt und sie dann in das DB-Feld einträgt. ist leider kein PHP Code was da abläuft, sonst könnte man das ja nachlesen ;)

trage ich den MD5 Hash Wert per Hand in das Feld ein, kann ich mich aber natürlich nicht einloggen.
RoterFruchtZwerg
RoterFruchtZwerg 11.06.2010 um 11:11:08 Uhr
Goto Top
Das ö ist überhaupt nicht egal, da dadurch der verwendete Zeichensatz ebenfalls eine Rolle spielt.
Wenn ich nämlich ein MD5('Löffler4') in meinem MySQL ausführe, erhalte ich "9c6c1f8b997a8e9e60fa151e541f5fc0".
Du solltest zuerst ein Passwort aus reinen ASCII-Zeichen verwenden, danach kannst du dich an Umlaute wagen.
lowbyte1
lowbyte1 11.06.2010 um 11:14:28 Uhr
Goto Top
Hi

Folge dem Lösungsweg von "RoterFruchZwerg", und du bist auf dem richtigen Weg!

http://www.aspheute.com/artikel/20040105.htm


lowbyte
TiCar
TiCar 11.06.2010 um 11:20:40 Uhr
Goto Top
Vielen Dank für die vielen Antworten.

Den Hersteller hatte ich natürlich schon lange bevor ich hier gepostet habe angeschrieben - war das erste was ich gemacht habe, aber er schweigt sich darüber aus. Dann werde ich mich mal auf die Suche im Quellcode machen *narf* Besser wäre, dass der Hersteller seine Funktion um neue Passwörter zu setzen in Griff bekommt, dann müsste man solche nervigen Wege erst gar nicht einschalgen und damit Zeit verplempern face-sad

Nochmals vielen Dank für de rege Beteiligung - bin ja gespannt was rauskommt.