Page 1 of 2

Passwort mit PHP 5.3.3-7+jessie1

Posted: Wed Dec 27, 2017 10:35 pm
by wbs
Ich habe CMSimple_XH auf einem Server mit PHP 5.3.3-7+jessie1 installiert. Ich kann mich allerdings nichteinmal mit dem Standardpasswort einloggen, es kommt immer "Sie haben ein falsches Passwort eingegeben!". Kann das an der PHP-Version liegen? Das Passwort ist sicher das Standardpasswort, ich habe den Hash in der config.php abgeglichen.

Re: Passwort mit PHP 5.3.3-7+jessie1

Posted: Thu Dec 28, 2017 3:15 am
by Tata
1. Gast du das Passwort nicht durekt in einem Editor geändert? In älteren Versionen war es möglich, weil das Passwort nicht encryptet war. Jetzt kann es nur im Adminbereich eingegeben sein.
2. Falls nicht, versuch die Zeile mit $cf['security']['password']="..." mit der selben Zeile aus einer nicht manipulierten InstallazionDistro zu überschrieben.
3. Oder versuch es mit einer sauberen Installation.

Re: Passwort mit PHP 5.3.3-7+jessie1

Posted: Thu Dec 28, 2017 5:47 am
by wbs
Ich habe es mit einer frischen Installation probiert und das Passwort ist verschlüsselt im Configfile gespeichert.

Re: Passwort mit PHP 5.3.3-7+jessie1

Posted: Thu Dec 28, 2017 8:54 am
by cmb
wbs wrote:Ich habe CMSimple_XH auf einem Server mit PHP 5.3.3-7+jessie1 installiert. Ich kann mich allerdings nichteinmal mit dem Standardpasswort einloggen, es kommt immer "Sie haben ein falsches Passwort eingegeben!". Kann das an der PHP-Version liegen? Das Passwort ist sicher das Standardpasswort, ich habe den Hash in der config.php abgeglichen.
Ja, das liegt höchst wahrscheinlich an der PHP-Version. Für PHP < 5.5.0 liefern wir ein Kompatibilitätsscript für das gilt:
This library requires PHP >= 5.3.7 OR a version that has the $2y fix backported into it (such as RedHat provides). Note that Debian's 5.3.3 version is NOT supported.
Daher wird auch in der Systemprüfung PHP ≥ 5.3.7 geprüft. Wenn irgend möglich solltest du sowieso eine aktuellere PHP-Version verwenden.

Re: Passwort mit PHP 5.3.3-7+jessie1

Posted: Thu Dec 28, 2017 9:49 am
by wbs
Ah okay, gibts da kein Workaround, z.B. dass man das Passwort in Klartext speichern lässt? Ich weiß nicht, ob ein PHP-Update eine Option ist.

Spricht sonst was sicherheitstechnisch dagegen, 5.3.3 zu verwenden?

Re: Passwort mit PHP 5.3.3-7+jessie1

Posted: Thu Dec 28, 2017 12:07 pm
by cmb
wbs wrote:Ah okay, gibts da kein Workaround, z.B. dass man das Passwort in Klartext speichern lässt? Ich weiß nicht, ob ein PHP-Update eine Option ist.

Spricht sonst was sicherheitstechnisch dagegen, 5.3.3 zu verwenden?
Passwörter im Klartext zu speichern, ist eine Sicherheitslücke – wäre also ein sehr schlechter Workaround. Zu PHP 5.3.3-7+jessie1 kann ich im Web keine Informationen finden; ich kann mir aber eigentlich schwer vorstellen, dass dieses Paket noch mit Sicherheitsfixes versorgt wird (PHP 5.3.3. wurde vor über 7 Jahren veröffentlicht). Ein Beleg dafür scheint das Fehlverhalten von password_verify(), welches wenig mehr als ein Wrapper über crypt() ist, und offensichtlich wurde der $2y Patch nicht portiert. Da sollte also eigentlich der Serveradmin tätig werden, und auf eine geflegte PHP-Version aktualisieren.

Bis dahin kann ich folgenden Workaround nicht empfehlen: zunächst in cmsimple/config.php folgenden Passwort-Hash (steht für test) hinterlegen:

Code: Select all

$cf['security']['password']="$2a$10$3ea934f04d67273807ea9uqGmbd35SRQq6p6lfkjfTkBZD9NnOwZK"; 
Dann diese Zeile ändern in:

Code: Select all

                    $hash_format = sprintf("$2a$%02d$", $cost); 
Dann einloggen, und das Passwort ändern.

Und ganz wichtig, wenn man diesen Workaround verwenden sollte: sobald eine halbwegs aktuelle PHP-Version verfügbar ist, die Änderung in cmsimple/password.php wieder rückgängig machen!

Re: Passwort mit PHP 5.3.3-7+jessie1

Posted: Thu Dec 28, 2017 1:58 pm
by wbs
Das ist doch die unveränderte Zeile? Danke für die Hilfe.

Speichert nicht z.B. Wordpress auch das Datenbankpasswort in Plaintext?

/edit: Ahso, nein, is eh anders. :D
Jetzt kann ich mir zwar einloggen, werd aber nach jedem Klick auf der Seite ausgeloggt.

Re: Passwort mit PHP 5.3.3-7+jessie1

Posted: Thu Dec 28, 2017 11:26 pm
by cmb
wbs wrote:Das ist doch die unveränderte Zeile?
Nicht wirklich. Das $2y$ wurde durch $2a$ ersetzt.
wbs wrote:Jetzt kann ich mir zwar einloggen, werd aber nach jedem Klick auf der Seite ausgeloggt.
Das scheint mir andere Gründe zu haben, denn ich vermute, dass die eigentliche Passwortprüfung erfolgreich war, aber es ein Problem mit den Cookies oder der Session selbst gibt. Zur Prüfung: lösche die Cookies der Domain, logge dich ein, und prüfe, ob mode, status und das Session-Cookie (XH_irgendwas) gesetzt wurde. Falls ja, dann aktiviere den Debug-Modus, und logge dich erneut ein – dann könnte eine auf die Session bezogene Warnmeldung erscheinen.

Re: Passwort mit PHP 5.3.3-7+jessie1

Posted: Fri Dec 29, 2017 8:39 am
by wbs
Es sind keine Cookies von der Domain hinterlegt.

Ich hab jetzt nochmal eine neue, unveränderte (bis auf die Passwortsache) Installation getestet, gleiches Ergebnis, Debug sagt nichts.

Auch auf anderen Systemen mit anderen Browsern funktionierts nicht.

Re: Passwort mit PHP 5.3.3-7+jessie1

Posted: Fri Dec 29, 2017 4:51 pm
by cmb
wbs wrote:Es sind keine Cookies von der Domain hinterlegt.

Ich hab jetzt nochmal eine neue, unveränderte (bis auf die Passwortsache) Installation getestet, gleiches Ergebnis, Debug sagt nichts.
Dann solltest du vielleicht einmal die Response-Header direkt nach dem Login prüfen (z.B. in der Browserkonsole); dort sollten entsprechende Set-Cookie Header vorhanden sein. Falls nicht, dann kann ich mir eigentlich nur vorstellen, dass die Site bereits Ausgabe erzeugt hat, so dass die Header nicht mehr gesendet werden konnten – das sollte aber der Debug-Modus eigentlich melden ("Cannot send headers – output already started in …").

Falls die Website nicht öffentlich erreichbar ist, könntest du auch temporär diese Zeile ändern in:

Code: Select all

define('XH_ADM', true);
Dann bist du automatisch eingeloggt, und könntest zumindest in der Systemprüfung (Einstellungen → Info) nachschauen, ob irgendein Problem erkannt wird.