problème cryptage sha1


Fab le Fou
WRInaute passionné
WRInaute passionné
 
Messages: 1511
Inscription: 2 Déc 2004

problème cryptage sha1

Message le Jeu Aoû 24, 2006 13:01

Bonjour,

J'ai un soucis avec l'accès à la zone d'admin d'un mes sites.
J'utilise l'algo de cryptage sha1 pour les mots de passe des auteurs.

De mon côté, que je passe par IE ou FireFox tout fonctionne et c'est aussi le cas pour les majorité des auteurs mais certains n'arrivent pas à se connecter alors qu'ils m'ont dit bien faire attention à la casse.

Au début le cryptage se faisant via un javascript je pensais que ça venait de là mais maintenant qu'il se fait en php, le problème persiste :

Code: Tout sélectionner
$mail=trim($_POST["mail"]);
$passe=sha1(stripslashes($_POST["passe"]));


Comme tout se passe bien pour moi, difficile de trouver d'où vient le lézard. :cry:

A+, Fab

Sir Dipp
WRInaute passionné
WRInaute passionné
 
Messages: 1025
Inscription: 21 Juil 2003

Message le Jeu Aoû 24, 2006 13:15

SHA1 n'est pas un cryptage, c'est un hashage.

Sinon, dans ta base de donnée tu as combien de caractères pour le champ du mot de passe ?

A+


Fab le Fou
WRInaute passionné
WRInaute passionné
 
Messages: 1511
Inscription: 2 Déc 2004

Message le Jeu Aoû 24, 2006 13:23

Sir Dipp a écrit:SHA1 n'est pas un cryptage, c'est un hashage.

Sinon, dans ta base de donnée tu as combien de caractères pour le champ du mot de passe ?


Actuellement 40 caractères.

Sir Dipp
WRInaute passionné
WRInaute passionné
 
Messages: 1025
Inscription: 21 Juil 2003

Message le Jeu Aoû 24, 2006 13:40

Est-ce que tu as comparez l'entrée de la base de donnée avec un mot de passe hashé ?

Genre deux ligne avec ce qui est dans la base de donnée puis une autre avec le mot de passe entré hashé.

A+


Fab le Fou
WRInaute passionné
WRInaute passionné
 
Messages: 1511
Inscription: 2 Déc 2004

Message le Jeu Aoû 24, 2006 14:38

Oui et les 2 sont identiques, sinon je pense que la connexion ne fonctionnerait jamais et là le problème ne se pose qu'avec certains utilisateurs.

Est-ce qu'il n'y a pas un risque qu'un même caractère (visuellement) soit en fait codé différement (niveau ASCII) suivant le navigateur, et donc différent une fois hashé ?

Je viens de constater que la dernière personne qui rencontre le problème est chez aol...

En tous, le problème doit bien venir du côté client.

julisube
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 263
Inscription: 26 Juin 2006

Message le Jeu Aoû 24, 2006 14:59

Tu fais bien la comparaison de strings avec strcmp et non avec == ?

Sinon coté client tu peux avoir un problème d'encoding, tu peux forcer le client avec header() à accepter un encoding.


mowmow
WRInaute impliqué
WRInaute impliqué
 
Messages: 975
Inscription: 3 Nov 2004

Message le Jeu Aoû 24, 2006 16:54

Essaie d'enlever le stripslashes, ca sert à rien vu que ta chaine hashée n'aura que des chiffres et des lettres ;)


Fab le Fou
WRInaute passionné
WRInaute passionné
 
Messages: 1511
Inscription: 2 Déc 2004

Message le Jeu Aoû 24, 2006 17:14

mowmow a écrit:Essaie d'enlever le stripslashes, ca sert à rien vu que ta chaine hashée n'aura que des chiffres et des lettres ;)


Ouai mais elle est haschée après le stripslashes, donc si je laisse les slash, le résultat devrait être différent, non ?

Je vais regarder du côté de la fonction header() si je peux forcer le codage des caractères, comme conseillé.

Ce qui est marrant que les mêmes utilisateurs n'avaient pas de problème lorsque je laissais les mots de passe tel quel, alors que le problème aurait dû être le même

julisube
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 263
Inscription: 26 Juin 2006

Message le Sam Sep 16, 2006 23:16

Pour localiser le bug, essaye sans hachage et regarde ce qui atterit dans la bd .

Ce n'est surement pas SHA-1 qui est en cause, mais le traitement de la string password et/ou l'encodage de la bd, de ton formulaire, ou bien encore la comparaison de strings.


rog
WRInaute passionné
WRInaute passionné
 
Messages: 1662
Inscription: 21 Sep 2006

lol

Message le Jeu Sep 21, 2006 8:50

pas evident

néanmoins si tu ne traite pas la variable en stripslashe avant le hashage au moment de l'insertion, en db, ça pourrait expliquer que des pass contenant des quotes ou doubles quotes ne correspondent pas au moment du test

rog


Fab le Fou
WRInaute passionné
WRInaute passionné
 
Messages: 1511
Inscription: 2 Déc 2004

Re: lol

Message le Jeu Sep 21, 2006 8:58

rog a écrit:néanmoins si tu ne traite pas la variable en stripslashe avant le hashage au moment de l'insertion, en db, ça pourrait expliquer que des pass contenant des quotes ou doubles quotes ne correspondent pas au moment du test


Non justement ce qui m'étonne c'est que le mot de passe temporaire que j'ai moi-même créé ne contient que des caractères "normaux" (lettres + chiffres).

Et puisque ça marche avec la majorité des utilisateurs, cela ne peut venir que du côté client (navigateur sans doute).


rog
WRInaute passionné
WRInaute passionné
 
Messages: 1662
Inscription: 21 Sep 2006

lol

Message le Jeu Sep 21, 2006 9:36

c'est pas tout à fait ce que je disais

en desossant pour debugger on peut affirmer que le probleme ne peut pas venir du navigateur

l'hypothèse que j'émettais etait la suivante

au moment de m'enregistrer comme user je saisi un passe rog12'12

si magic_gpc est a on l'apostrophe va chopper un slash

si tu n'appliques pas un stripslash avant de hasher mon pass pour l'insérer dans la table

tu auras une requete qui comparera sha1(rog12'12) avec sha1(rog12\'12)

sinon il pourrait peut etre y avoir un probleme de passage de caracteres accentués si tu n'as pas declaré le charset de la page html mais c'est pas sur

rog


Fab le Fou
WRInaute passionné
WRInaute passionné
 
Messages: 1511
Inscription: 2 Déc 2004

Re: lol

Message le Jeu Sep 21, 2006 9:47

rog a écrit:au moment de m'enregistrer comme user je saisi un passe rog12'12


Oui me justement là il n'y a ni apostrophe, ni caractère accentué.
ça devrait passer comme une lettre à la poste.


rog
WRInaute passionné
WRInaute passionné
 
Messages: 1662
Inscription: 21 Sep 2006

lol

Message le Jeu Sep 21, 2006 10:12

la ça se corse

faut debugger

fait des print
compare les types de variables etc...

rog

julisube
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 263
Inscription: 26 Juin 2006

Message le Sam Sep 23, 2006 1:20

La question vitale: peux-tu reproduire le bug chez toi ? ou est-ce seulement certains utilisateurs qui ont ce bug ?

Dans le dernier cas, il te faut la config (OS, version(SP1/SP2..), navigateur etc) et essayer de reproduire le bug.

problème cryptage sha1

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités