phpbb3 RC7 password hash

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
EvilMoe
Mitglied
Beiträge: 25
Registriert: 09.03.2006 19:53

phpbb3 RC7 password hash

Beitrag von EvilMoe »

Hi ich habe auf meiner Hauptseite ein Loginformular das ich mit der DB von phpbb überprüft habe aber nun hat sich ab der RC6 der hash geändert und vom sehen her ist der mir nicht bekannt, md5 sha oder so.

Wie kann ich diesen hash erstellen welche funktion(nen) brauche ich dafür?
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Ich würde an deiner Stelle statt des "echten" Logins einen Login mit Redirect einsetzen. Das hat den klaren Vorteil, dass du dir um Sicherheitsupdates keine großen Sorgen machen musst.

Du schickst die Daten (username, password, ggf. autologin und viewonline) einfach statt an dein eigenes Formular an ucp.php?mode=login und übergibst in Versteckten Feldern sid und redirect, wobei du in redirect den relativen Pfad zur gewünschten Datei einträgst.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
EvilMoe
Mitglied
Beiträge: 25
Registriert: 09.03.2006 19:53

Beitrag von EvilMoe »

Ich möchte schon gerne mein eigenes Login verwenden.. ich glaube kaum das ihr nochmal den hash ändern werdet..
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Dann schau doch einfach in der includes/auth/auth_db.php in der Funktion login_db() nach wie das gemacht wird.

Du könntest auch in der Funktion phpbb_hash in der includes/functions.php schauen ;)
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
EvilMoe
Mitglied
Beiträge: 25
Registriert: 09.03.2006 19:53

Beitrag von EvilMoe »

gn#36 hat geschrieben: Du könntest auch in der Funktion phpbb_hash in der includes/functions.php schauen ;)
Die Funktion gibts da nicht bei mir..

Ich finde zwar in auth zwar die Zeilen aber ich verstehe das nicht ich finde da keine Funktion die den neues Hash erstellt
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Version meiner Datei:

Code: Alles auswählen

@version $Id: functions.php,v 1.640 2007/10/09 21:04:21 kellanved Exp $
ist also schon ein paar Tage her dass die geändert wurde.

Darin findet sich eine Funktion phpbb_hash($password)

Code: Alles auswählen

/**
*
* @version Version 0.1 / $Id: functions.php,v 1.640 2007/10/09 21:04:21 kellanved Exp $
*
* Portable PHP password hashing framework.
*
* Written by Solar Designer <solar at openwall.com> in 2004-2006 and placed in
* the public domain.
*
* There's absolutely no warranty.
*
* The homepage URL for this framework is:
*
*	http://www.openwall.com/phpass/
*
* Please be sure to update the Version line if you edit this file in any way.
* It is suggested that you leave the main version number intact, but indicate
* your project name (after the slash) and add your own revision information.
*
* Please do not change the "private" password hashing method implemented in
* here, thereby making your hashes incompatible.  However, if you must, please
* change the hash type identifier (the "$P$") to something different.
*
* Obviously, since this code is in the public domain, the above are not
* requirements (there can be none), but merely suggestions.
*
*
* Hash the password
*/
function phpbb_hash($password)
{
...
}
Dem ganzen folgt ein ganzer Block mit krypto-Funktionen.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
EvilMoe
Mitglied
Beiträge: 25
Registriert: 09.03.2006 19:53

Beitrag von EvilMoe »

Ja hab sie jetzt gefunden.. ich hab irgetnwie ein problem wenn ich die funktion anwende. Ich bekomme immer nen anderen hash..

Ich benutz die Funktionen auf den eingegebenen String ist das richtig ? Muss ich den vorher noch verändern?
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Nur weil ich gesagt habe dass du dir das mal ansehen sollst wird der Rest nicht zwangsläufig ungültig...

Du solltest dir wirklich die Funktion in der auth_db.php ansehen. Hier wird u.a. berücksichtigt, dass die Passwörter noch nicht von allen Usern konvertiert werden konnten (das PW kann nur konvertiert werden, wenn man es kennt denn die Zurückrechnung von md5 auf das Passwort ist ja mit erheblichem Aufwand verbunden). Du gibst ihr einen Namen und ein Passwort und sie prüft ob der Login geklappt hat oder nicht. Die Funktion prüft im Prinzip nur das Passwort (und nebenbei konvertiert sie es bei Erfolg und liefert False wenn die Max. Loginversuche überschritten wurden ...), die Session wird hier nicht gestartet, das muss an anderer Stelle passieren.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
EvilMoe
Mitglied
Beiträge: 25
Registriert: 09.03.2006 19:53

Beitrag von EvilMoe »

Nun hab ich glaub ich...
Du hättest mir ruhig sagen können da sich die Funktion phpbb_hash garnicht brauche sondern phpbb_check_hash damit überprfüt man das Passwort obs stimmt

Habs nun so gemacht (alle was mit $data-> anfängt kommt aus der db mit mysql_fetch_object):

Code: Alles auswählen

if( strlen($data->user_password) == 32 && $data->user_password == md5($table_password) )
			{ 
				// alte login methode
				$dologin = true;
			}
			elseif(phpbb_check_hash($table_password, $data->user_password))
			{
				// neue login methode
				$dologin = true;
			}
			else 
			{ $dologin = false; }

Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Sorry. Ich hatte da nur kurz draufgeschaut und gesehen dass die Funktion verwendet wird. Als ich dann erst später nochmal drauf geschaut habe ist mir dann aufgefallen dass die Funktion für die Umwandlung verwendet wird :oops:
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“