Hallo!
Wahrscheinlich werdet ihr mich für die Frage steinigen (der Fehler ist wahrscheinlich offensichtlich) ich finde ihn trotzdem nicht.
Passwort: tteesstt
Salt: yLo771WF
Aus der Datenbank ausgelesener Hash: 8cddaefcce416b5f142949af14922397
Mit meinem Script generierter Hash: 3f310f6376896e7602880712c90e3062
Mein PHP Script dazu:
PHP-Code:
<form>
<input type="text" name="password" />
<input type="text" name="salt" />
<input type="submit" />
</form>
<?
$_GET['password'] = md5($_GET['password']);
$_GET['salt'] = md5($_GET['salt']);
$hash = md5($_GET['password'].$_GET['salt']);
echo $_GET['password'];
echo "<br />";
echo $_GET['salt'];
echo "<br />";
echo $hash;
?>
Laut Forensuche stimmt meine Passwortverschlüsselung - ich verstehe daher grad net, wo mein Fehler liegt^^
(13.05.2006, 21:40)Michael schrieb: [ -> ]Das stimmt nicht so ganz. Das MyBB verwendet einen sogenannten Salt, einen Zufallscode, der für höhere Sicherheit sorgt. Zudem wird das Passwort doppelt verschlüsselt. Das Passwort wird in folgender Form in der Datenbank gespeichert:
PHP-Code:
md5(md5("passwort").md5("salt"))
[/php]
Gruß
ich hab den code grad nicht zur hand, weiss daher nicht ob es passwort+salt oder salt+password war, aber md5(md5(a).md5(b)) müsste eigentlich passen. Kann man bei PHP die Variablen im $_GET einfach ändern so wie du es tust? Bekommst du also beim echo drunter schon die Hashes?
Bei den echos drunter bekomme ich die richtigen Hashs, sobald ich das Formular abgesendet habe. Ist auch mehr provisorisch - der Verschlüsselungsteil stammt aus nem anderen Script, das echo hab ich nur zu Kontrollzwecken reingeschrieben^^
Ich bin jetzt mal davon ausgegangen, dass es pw.salt ist, da ich es des öfteren so gefunden habe, ich probiere es aber mal andersrum :-)
Gruß
€: Danke - da hätte ich selbst draufkommen können die Hashs einfach mal zu vertauschen^^
mit md5(md5(salt).md5(pw)) funktioniert es :-)
Ich mach das auch immer falschrum, da das Salz an zweiter Stelle effektiver wäre. Aber was solls, es gibt schlimmeres.
Hi,
da mein Anliegen hier am ehesten hineinpasst, starte ich diese auch gleich mal hier.
Ich habe folgendes vor, ich möchte eine "Zentrale User Datenbank" machen. Ich betreibe mehrere Seiten in einer, das heißt derzeit ein Forum, Blog und es sollen noch mehr werden. Da jedes Projekt seine eigene User-Datenbank verwendet, möchte ich eine machen die auf alle zugreift bzw. die Daten abgleicht. Als Basis würd ich mir gerne die Verschlüsselung von myBB hernehmen.
Was ich hier schon herauslesen konnte ist, das mybb einen salt generiert. Dieser dann md5 verschlüsselt wird + das PW md5 und das ganze in kombination nochmal md5 verschlüsselt wird also, md5(md5(salt)+md5(pw)), habe ich das so richtig verstanden?
Meine Fragen dazu:
Wo finde ich die Salt-Generierung in den Datein?
Kann ich bei der Registrierung direkt Code einfügen, der mir die Daten bei einer neuen Registrierung auch gleich in die Zentrale Datenbank einträgt?
Diese Verschlüsselung + PW Abfrage, kann ich dann nämlich generell bei allen Logins einbauen, darum gehts mir :-) ich möchte einfach das die User sich nicht pro Projekt registrieren müssen, sondern nur einmal registrieren.
Den Salt findest du auch in der Tabelle mybb_users.
Der Salt-Generator befindet sich in der Datei functions_user.php im Ordner "inc". Und ja, du kannst die Daten in eine andere Datenbank eintragen lassen, was jedoch nicht sehr sinnvoll ist.
inc/datahandlers/user.php
(03.11.2011, 17:37)StefanT schrieb: [ -> ]Den Salt findest du auch in der Tabelle mybb_users.
Das hab ich schon gesehen, danke. Allerdings mit dem Salt "alleine" fange ich halt nichts an oder denke ich wiedermal zu kompliziert?
(03.11.2011, 18:30)Falkenauge Mihawk schrieb: [ -> ]Der Salt-Generator befindet sich in der Datei functions_user.php im Ordner "inc". Und ja, du kannst die Daten in eine andere Datenbank eintragen lassen, was jedoch nicht sehr sinnvoll ist.
inc/datahandlers/user.php
Darf ich nachfragen wieso du dies als nicht sinnvoll betrachtest? Da man ja nie auslernt und es vielleicht ein Sicherheitsrisiko darstellt, würd mich das natürlich interessieren.
(04.11.2011, 08:37)computexx schrieb: [ -> ] (03.11.2011, 17:37)StefanT schrieb: [ -> ]Den Salt findest du auch in der Tabelle mybb_users.
Das hab ich schon gesehen, danke. Allerdings mit dem Salt "alleine" fange ich halt nichts an oder denke ich wiedermal zu kompliziert?
(03.11.2011, 18:30)Falkenauge Mihawk schrieb: [ -> ]Der Salt-Generator befindet sich in der Datei functions_user.php im Ordner "inc". Und ja, du kannst die Daten in eine andere Datenbank eintragen lassen, was jedoch nicht sehr sinnvoll ist.
inc/datahandlers/user.php
Darf ich nachfragen wieso du dies als nicht sinnvoll betrachtest? Da man ja nie auslernt und es vielleicht ein Sicherheitsrisiko darstellt, würd mich das natürlich interessieren.
Wenn du planst noch einen Login irgendwo auf ner Überseite oder so zu machen, solltest du die Daten gleich aus mybb_users auslesen. Da man ansonsten, wenn man irgendwas ändert auf beiden Seiten ändern muss.
(04.11.2011, 16:07)Falkenauge Mihawk schrieb: [ -> ]Wenn du planst noch einen Login irgendwo auf ner Überseite oder so zu machen, solltest du die Daten gleich aus mybb_users auslesen. Da man ansonsten, wenn man irgendwas ändert auf beiden Seiten ändern muss.
Da geb ich dir recht, allerdings müßte ich dann auch die Registrierung des MyBB adaptieren, ich mag aber nicht das alle User die sich registrieren glauben Sie müssen dies über das Forum machen ... dazu fehlt mir aber jetzt ehrlich gesagt jeglicher Plan. Hat sowas schon mal jemand gemacht? Worauf muss man achten?