[TYPO3-german] felogin mit passwordCompareStrategy=rsa funktioniert nicht und speichert Passwort gesalted in der Datenbank
Webmeck - TYPO3
typo3 at webmeck.de
Wed Jun 20 08:20:05 CEST 2012
Also bei den Installed Services sind folgende aufgelistet:
Frontend Login Security(felogin_security: tx_feloginsecurity_authuser)
Brute force blocker
100 100 authUserFE Any - Yes
FE/BE Authentification salted(saltedpasswords: tx_saltedpasswords_sv1)
Salting of passwords for Frontend and Backend
70 70 authUserFE, authUserBE Any - Yes
RSA authentication(rsaauth: tx_rsaauth_sv1)
Authenticates users by using encrypted passwords
60 60 processLoginDataBE, processLoginDataFE Any - Yes
User authentication(sv: tx_sv_auth)
Authentication with username/password.
50 50 getUserBE, authUserBE, getUserFE, authUserFE, getGroupsFE,
processLoginDataBE, processLoginDataFE Any - Yes
Und beim Statusreport habe ich nur eine Auffälligkeit im deprecation Log:
t3lib_div::int_from_ver()
Vielen vielen Dank schonmal
On 19.06.2012 23:19, Steffen Gebert wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Schau mal ins Reports-Modul, was die rsaauth-checks da anzeigen.
>
> 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 22:40, Webmeck - TYPO3 wrote:
>> Hallo Steffen,
>>
>> danke für deine Antwort. Tut mir Leid, der erste richtige Weg durch die
>> t3lib etc hat mich ein wenig mitgenommen. Ja, ich kann mich nicht
>> einloggen.
>>
>> Danke schonmal für die beiden Links, die schaue ich mir jetzt erstmal an
>>
>> MfG
>> Frederik
>>
>> On 19.06.2012 17:45, Steffen Gebert wrote:
>> 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
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
> Comment: GPGTools - http://gpgtools.org
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iQEcBAEBAgAGBQJP4OzdAAoJEIskG/rSlyw4Yi0H+waebS504WigSqaIrW2PLdVK
> sV8A7kj+a7MaAj5p2kErmaqalc27He4s3UcSUS46O8HFVMTmlvc+Rrow/67LJQY3
> mnTVEaE6rR0sAsl9MgHviPL9MznVqwI42FRbIcghv8nCGV5gwicQR+JLV+WzxWiU
> rJmdZH81I/Bjo7kq5ht7oZKWGf1rvBV7++rGDfMKv2mm6GDfpRfBgTrDJksgR5jW
> 16/WfUyGufCYYUvIof6MvvuvLDe8u+Tce/HRSHgbGaypT1UH2z0a8YhDTR2Z8upH
> wNYjm8B4YWWt2/7mktBCe/yfqdTjOuJ/zyHz6OCkR8qi8IrDly5Mq7r7RYLeyHo=
> =/+LA
> -----END PGP SIGNATURE-----
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
More information about the TYPO3-german
mailing list