Hallo,
ich hätte mal eine Frage zu diesem Forum: Kann man als Admin das Passwort eines registrierten Users irgendwie im Klartext auslesen, oder wird dieses nur z.B. als Hash-Wert oder andersartig verschlüsselt abgespeichert? Lässt es sich dann vielleicht auf irgendeine Art und Weise mit vertretbarem Aufwand rekonstruieren (oder z.B. wenigstens Länge, Sonderzeichen ja/nein)?
Es geht mir wirklich erstmal nur um die Frage der theoretischen Möglichkeit - Gründe für meine Frage kommen (vielleicht) später.
Gruß
Christian
Passwort auslesen?
-
- Beiträge: 81
- Registriert: 01.12.2002 18:24:16
- Wohnort: Eckernförde / Hannover
- Kontaktdaten:
- Oliver Lamm
- Beiträge: 3102
- Registriert: 04.01.2002 15:02:17
- Aktuelle Projekte: Aachen - Neuss für Zusi3
- Wohnort: Essen
- Kontaktdaten:
In der Datenbank wird nur der Passwort-Hash abgelegt. Das Passwort ist asymmetrisch verschlüsselt.
Wie funktionierts:
Man ermittelt ein "Salt", meistens zwei zufällige Zeichen. Diese werden dann zusammen mit dem Klartextpassword in die crypt()-Funktion eingelesen welche das Passwort erzeugt. Die ersten zwei Zeichen des Password-Hash sind die beiden Zeichen des Salt.
Soll nun das Password verglichen werden, so wird das Salt aus dem Password Hash eingelesen und dann die crypt()-Funktion zusammen mit dem eingegebenen Password des Users aufgerufen. Ist der Hash identisch ist das Password ok, ansonsten - neuer Versuch.
Das obrige beschreibt die DES-Verschlüsselung, sollte aber im grossen ganzen auch für die anderen funktionieren.
EDIT:
Zur Frage, nein der Admin kann das Klartextpassword nicht lesen. Einizger Weg: Brute force - leider bei fast 90% aller Passwörter mit geringem Zeitaufwand lösbar ...
Oli
Wie funktionierts:
Man ermittelt ein "Salt", meistens zwei zufällige Zeichen. Diese werden dann zusammen mit dem Klartextpassword in die crypt()-Funktion eingelesen welche das Passwort erzeugt. Die ersten zwei Zeichen des Password-Hash sind die beiden Zeichen des Salt.
Soll nun das Password verglichen werden, so wird das Salt aus dem Password Hash eingelesen und dann die crypt()-Funktion zusammen mit dem eingegebenen Password des Users aufgerufen. Ist der Hash identisch ist das Password ok, ansonsten - neuer Versuch.
Das obrige beschreibt die DES-Verschlüsselung, sollte aber im grossen ganzen auch für die anderen funktionieren.
EDIT:
Zur Frage, nein der Admin kann das Klartextpassword nicht lesen. Einizger Weg: Brute force - leider bei fast 90% aller Passwörter mit geringem Zeitaufwand lösbar ...
Oli
Zuletzt geändert von Oliver Lamm am 14.07.2005 08:08:31, insgesamt 1-mal geändert.
Oliver Lamm
mail(AT)oliverlamm(DOT)de
mail(AT)oliverlamm(DOT)de