Ergebnis 1 bis 10 von 10

Thema: tl_member / password hashes

  1. #1
    Contao-Nutzer Avatar von angelika1
    Registriert seit
    03.06.2013.
    Beiträge
    24

    Standard tl_member / password hashes

    In einem alten System (never change a running System) hat jemand wohl versehentlich an den templates gefuddelt und leider find ich das problem jetzt nicht.

    Die tl_member wird nächtlich direkt aus einem ERP System gefüllt, von einem Tag auf den anderen werden nun die SHA512 Hashes nicht mehr erkannt und keiner kann sich einloggen.

    Wo genau finde ich den Passwort Algorithmus für die tl_member respektive Login? Vielleicht kann jemand Wissender mir den ganzen Ablauf skizzieren, damit ich weiss, wo ich überall suchen muss, danke im Voraus!

  2. #2
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.280

    Standard

    Ich generiere Contao Passworte in einem Cron wie folgt:
    PHP-Code:
    $strSalt substr(md5(uniqid(mt_rand(), true)), 023);
    $strPassword sha1($strSalt $meintext);
    $password $strPassword ':' $strSalt
    Vermutlich gibt es auch eine Funktion innerhalb Contao dafür...ich mache das aber per PHP das ich mir mal aus irgendwelchen Coredateien "geklaut" und abgewandelt habe.

    VG

  3. #3
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wäre natürlich auch wichtig zu wissen, welche Version das "alte System" hat. Die Passwortverschlüsselung hat sich ja mal zwischendurch geändert.

  4. #4
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.280

    Standard

    Diese Funktion geht bei mir in 2.11 und einer 3.4 Installation.

  5. #5
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Zitat Zitat von Kahmoon Beitrag anzeigen
    Diese Funktion geht bei mir in 2.11 und einer 3.4 Installation.
    Dann hast Du in der 3.4er Installation aber noch alte Passwörter aus einem Update?!

    in system/modules/core/library/Contao/User.php steht in der Methode login():

    PHP-Code:

            
    // The password has been generated with crypt()
            
    if (\Encryption::test($this->password))
            {
                
    $blnAuthenticated = \Encryption::verify(\Input::postUnsafeRaw('password'), $this->password);
            }
            else
            {
                list(
    $strPassword$strSalt) = explode(':'$this->password);
                
    $blnAuthenticated = ($strSalt == '') ? ($strPassword === sha1(\Input::postUnsafeRaw('password'))) : ($strPassword === sha1($strSalt . \Input::postUnsafeRaw('password')));

                
    // Store a SHA-512 encrpyted version of the password
                
    if ($blnAuthenticated)
                {
                    
    $this->password = \Encryption::hash(\Input::postUnsafeRaw('password'));
                }
            } 
    Edit: ... bzw. Du schreibst Passwörter nach altem Muster und die werden beim erstenLogin von Contao angepasst.

  6. #6
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.280

    Standard

    Die werden täglich per Cron importiert. Wenn das in 3.4 anders ist muss ich das dort mal anpassen. Aktuell klappt es auf jeden Fall

  7. #7
    Contao-Nutzer Avatar von angelika1
    Registriert seit
    03.06.2013.
    Beiträge
    24

    Standard

    Das System wurde ja nicht geändert, von einem Tag auf den anderen konnte Contao die Passwörter nicht mehr erkennen.
    Also eigentlich gehts ums Auslesen, nicht ums "Reinfuddeln"

    In welcher PHP Datei (/system/modules/....) ist die Crypt Routine fürs Login zB drinnen, bzw wo könnte der ehemalige Programmierer gedreht haben, dass Passwörter mit einer eigenen Krypto-Routine interpretiert wurden, danke für Eure Hilfe.

  8. #8
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Zitat Zitat von angelika1 Beitrag anzeigen
    In welcher PHP Datei (/system/modules/....) ist die Crypt Routine fürs Login zB drinnen, bzw wo könnte der ehemalige Programmierer gedreht haben, dass Passwörter mit einer eigenen Krypto-Routine interpretiert wurden, danke für Eure Hilfe.
    In system/modules/core/library/Contao/User.php steht die Methode login() (Contao 3) (für Contao 2.x schaust Du in system/libraries/User.php)

    Wenn Du den Verdacht hast, der ehemalige Programmierer hat an den Contao Orioginaldateien rumgeschraubt, dann solltest Du das mit dem Contao-Check herausfinden können. Wenn der sagt "alles gut", dann wurde an den Contao-Algorithmen (in den Originaldateien) nichts geändert.

  9. #9
    Contao-Nutzer
    Registriert seit
    22.05.2013.
    Beiträge
    1

    Frage

    Zitat Zitat von Kahmoon Beitrag anzeigen
    Ich generiere Contao Passworte in einem Cron wie folgt:
    PHP-Code:
    $strSalt substr(md5(uniqid(mt_rand(), true)), 023);
    $strPassword sha1($strSalt $meintext);
    $password $strPassword ':' $strSalt
    Vermutlich gibt es auch eine Funktion innerhalb Contao dafür...ich mache das aber per PHP das ich mir mal aus irgendwelchen Coredateien "geklaut" und abgewandelt habe.

    VG
    Hallo Kahmoon,
    das ist schon mal sehr hilfreich, DANKE!

    Aber jedesmal, wenn das Script ausgeführt wird, erzeugt es einen anderen Hashwert.
    Wie kann ich denn dann vergleichen, ob mein gerade erzeugter Hashwert mit dem in der Datenbank gespeicherten Hashwert übereinstimmt?
    Die sind doch immer unterschiedlich.

    Gruß,
    George

  10. #10
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Indem Du beim zweiten Mal den Wert für $salt nicht neu generierst, sondern aus dem gespeicherten Password liest (der Teil nach dem ':')

    Aber bitte daran denken: Diese Methode ist nicht mehr das, was in Contao 3 gemacht wird.

    Wenn ich mich richtig erinnere werden Passwörter, die nach dem alten Schema erzeug/gespeichert wurden wohl beim Login auf das neue Format geändert und von daher "funktioniert es" aber es bleibt trotzdem "veraltet".

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •