[TYPO3-german] felogin mit passwordCompareStrategy=rsa funktioniert nicht und speichert Passwort gesalted in der Datenbank
Steffen Gebert
steffen.gebert at typo3.org
Tue Jun 19 17:45:10 CEST 2012
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi Frederik,
ich verstehe noch nicht genau, was der letztendliche Fehler ist. Kannst
du dich mit dem festgelegten Passwort erfolgreich einloggen?
Das salt ist im Passwort-Hash mit eincodiert, siehe auch
http://php.net/crypt oder
http://www.slideshare.net/StephenKing/passwrter-in-typo3-sicher-speichern-mit
Kind regards
Steffen
- --
Steffen Gebert
TYPO3 v4 Core Team Member
TYPO3 Server Administration Team Member
TYPO3 .... inspiring people to share!
Get involved: http://typo3.org
I work for TYPO3 solely in my spare time. If you think that
my work helps you running your business, you are invited to
send me a donation via PayPal to this email address. Thanks
On 19.06.12 17:05, Webmeck - TYPO3 wrote:
> Hallo an alle,
>
> ich hoffe ich mache nichts falsch, das hier ist mein erste Mail an eine
> Mailingliste.
>
> Bei mir läuft:
> TYPO3 4.7.1
> mit felogin 4.7.1
> und felogin_security 0.0.1
>
> Ich möchte FE-Nutzer ausschließlich über das Backend anlegen können, das
> "funktioniert" auch. Wenn ich einen Testnutzer mit dem Passwort "hallo"
> im Backend anlege, steht in der Datenbank in der Passwortspalte
> "$1$OsjLcQFF$Zr3XF.HIGPZ8bG3sYLgy/."das scheint gesalted zu sein, denn
> es ändert sich auch bei jedem abspeichern. Aber ich finde das salt
> nicht. Wo könnte es sein? Hab nur eine tx_rsaauth_keys gefunden, dort
> ist aber nur ein Eintrag drin, ich habe aber zwei FE-User.
>
> Außerdem habe ich, nach fehlgeschlagenem Login versucht, mal den Weg der
> Logindaten zu gehen und bin dann in der Datei t3lib_userAuth gelandet.
> Dort kommen die Logineingaben 1:1 an.
>
> (abhängig von aktiviertem JavaScript RSA-Verschlüsselt oder nicht)
>
> Mit JavaScript:
> $loginData = array(
> 'status' => 'login',
> 'uname' => 'loginname',
> 'uident' =>
> 'rsa:RwAS+duvVaT/F+MHMUIlFVn9UpE+Q4AOLG7lcp/GD5Fbxncpl4CJPtMMIMCSkCzQL/xaTsmzhzppw5IUKB9ZRMXbGciYmUI6/3QFq5gasD6N/p9Jp1/ghK4y37OrteYnzJleZvASXvTDBhYpHrOIVe+j2RnJO66yzSz+wvLhoR0=',
>
> 'chalvalue' => '',
> 'permanent' => 0
> )
>
> Ohne JavaScript:
> $loginData = array(
> 'status' => 'login',
> 'uname' => 'loginname',
> 'uident' => 'hallo',
> 'chalvalue' => '',
> 'permanent' => 0
> )
>
> nach einem Umweg über die class.tx_sv_authbase.php lande ich wieder in
> der class.t3lib_userauth.php in der methode compareUident().
>
> function compareUident($user, $loginData, $passwordCompareStrategy = '') {
>
> $OK = FALSE;
> $passwordCompareStrategy = $passwordCompareStrategy ?
> $passwordCompareStrategy : $this->security_level;
> t3lib_utility_debug::Debug($passwordCompareStrategy,
> 'passwordcomparestrategy in class.t3lib_userauth');
> t3lib_utility_debug::Debug($loginData, 'logindata in compareUident in
> class.t3lib_userauth');
> t3lib_utility_debug::Debug($user, 'user in compareUident in
> class.t3lib_userauth');
> switch ($passwordCompareStrategy) {
> case 'superchallenged': // If superchallenged the password
> in the database ($user[$this->userident_column]) must be a md5-hash of
> the original password.
> case 'challenged':
>
> // Check challenge stored in cookie:
> if ($this->challengeStoredInCookie) {
> session_start();
> if ($_SESSION['login_challenge'] !==
> $loginData['chalvalue']) {
> if ($this->writeDevLog) {
> t3lib_div::devLog('PHP Session stored
> challenge "' . $_SESSION['login_challenge'] . '" and submitted challenge
> "' . $loginData['chalvalue'] . '" did not match, so authentication
> failed!', 't3lib_userAuth', 2);
> }
> $this->logoff();
> return FALSE;
> }
> }
>
> if ((string) $loginData['uident_' .
> $passwordCompareStrategy] === (string) md5($user[$this->username_column]
> . ':' . $user[$this->userident_column] . ':' . $loginData['chalvalue'])) {
> $OK = TRUE;
> }
> break;
> default: // normal
> if ((string) $loginData['uident_text'] === (string)
> $user[$this->userident_column]) {
> $OK = TRUE;
> }
> break;
> }
>
> return $OK;
> }
>
> Dort ist:
> $passwordCompareStrategy = 'rsa' und somit rennt er in den default-modus
> wo er einfach das übermittelte Passwort (entweder rsa:... oder 'hallo')
> mit dem salted hash in der Datenbank abgleicht.
>
> Da kann doch irgendwas nicht richtig sein. Also entweder habe ich das
> Dingen komplett vor die Wand gesetzt oder aber da ist ein Bug. Wäre für
> Hilfe sehr dankbar, sollte es ein Bug sein, könnte ich versuchen mich
> drum zu kümmern (loginData in einem Hook wieder aueinandernehmen und das
> aus der Datenbank auch, sodass er gerne in den Default: reinkann). Wie
> ihr aber vielleicht merkt bin ich nicht so erfahren.
>
> Danke schonmal
>
> LG Frederik
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQEcBAEBAgAGBQJP4J6GAAoJEIskG/rSlyw4NvEH/jYI/4D37pXCWgRdPu24kf/y
Ly540UYOZ+++EUIuDLYVcN5Pda5bc6J1lQBd1IJrw1YJ5ZtcmyckBFueXaNzT4fg
JsvOvofPZ2VraRGOKvTWmX1EBaC2MMUHY4wOWZhAaV2wD8XsNIJI1kaNDO4znSTv
MsJnkznCYEQMyzD2aAUqmK/FyhyGH0rAKsmb5cd/LNpKYfT26eSuJjeFzFHBAI3X
sDmcb2e1RMWcKBu7Eu/wsv6XEgJCC57qtuwUYLqacGXKd3ghSvy4YZumAq3p3xtL
csqwLbPinPovUg9AhVtJaP2iCHuWZLqVd+KLNyRieIbhyd1/xYOcQB1fSNoStYI=
=JdYB
-----END PGP SIGNATURE-----
More information about the TYPO3-german
mailing list