md5 et mysql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : md5 et mysql

par caroube » 25 sept. 2008, 18:26

Je suis d'accord pour les cas courants, le https est largement suffisant, tout comme sont suffisants le md5 ou le sha1. Mais le https n'est pas infaillible parce que tous les certificats ne sont pas parfaitement sécurisés (cf Protection against unsafe SSL certificates qui explique que les certificats fournis par Debian étaient (ou sont encore, je ne sais pas) faciles à cracker.

Il y a une proof of concept qui montre comment cracker un site (GMail en l'occurrence) quand seule la page d'authentification est en https en passant par les cookies.
http://vimeo.com/1507697?pg=embed&sec=1507697

Tout ça pour dire que c'est une règle de base de la cryptologie : aucun code n'est incassable et ceux qui l'ont cru s'en sont mordus les doigts.

par Sékiltoyai » 25 sept. 2008, 16:21

Juste un truc en passant : c'est bien joli de stocker le mot de passe en md5 surcodé en sha1 et splitté ... Mais quand l'utilisateur tape son mot de passe sur son ordi, il circule en clair entre le poste et le serveur. Si tu veux être au top de la sécurité -même en utilisant du https-, il faut donc que tu cryptes le mot de passe sur le poste local, avant de l'envoyer à la base. On trouve des scripts md5 et sha1 en javascript en fouillant un peu sur le web.
Non, le https c'est suffisant, si le certificat est valide, il ne peut pas être falsifié, donc il ne pourra pas être falsifié sans que le client en soit informé. Donc il devient impossible de récupérer les données…

par agité » 25 sept. 2008, 12:17

Non je ne travaille pas pour la CIA et non je n'utilise pas de md5 et sha1 pour la base de donnée je donnais un exemple pour par exemple un code de confirmation que j'envois par email contenant le login de l'utilisateur plus autre chose avec cette méthode.

Mais oui dans tout les cas le problème viens plus souvent d'un mot de passe peurave utilisé par l'utilisateur ou un mot de passe enregistré sur la machine voir le post-it.

par caroube » 25 sept. 2008, 10:28

Enfin dans le cas du md5 j'utilise un sha1 en plus par dessus, split de la chaine etc
Tu travailles pour la CIA ? :P

Juste un truc en passant : c'est bien joli de stocker le mot de passe en md5 surcodé en sha1 et splitté ... Mais quand l'utilisateur tape son mot de passe sur son ordi, il circule en clair entre le poste et le serveur. Si tu veux être au top de la sécurité -même en utilisant du https-, il faut donc que tu cryptes le mot de passe sur le poste local, avant de l'envoyer à la base. On trouve des scripts md5 et sha1 en javascript en fouillant un peu sur le web.

Et même dans ce cas, il faut enlever tout papier et tout crayon à l'utilisateur pour qu'il ne note pas son mot de passe : car la véritable faille est là. :roll:

par agité » 25 sept. 2008, 10:02

Je comprends pas trop comment il pourrait y avoir un cheveux sur la soupe en fait ?
Il y a plusieurs solutions, tu as coder un script comportant des failles, ou tu en utilise un c'est pareil, et hop tu te faits récupérer tes identifiants de connexion à la bdd...
Ou alors, ton hebergeur fait une énorme betise et paf!
ou tu fait des sauvegardes de ta bdd mais oups tu as oublié de les mettres dans un répertoire protégé...
Enfin bon il faut toujours se dire que ce qui est accessible par toit pourrait l'être par d'autres...
Donc le md5 est une sécurité supplémentaire!
Bon je vais pas dire "normalement ça doit pas arriver" mais si ton script comporte des failles je pense que le plus grave est pas de pouvoir recupérer un mot de passe ça peut directement être des failles SQL ou autre. Un hébergeur qui fais une connerie ? ben je change d'hébergeur.

Enfin dans le cas du md5 j'utilise un sha1 en plus par dessus, split de la chaine etc, a ce moment la ok.

Peut être que j'utilise pas la meilleur manière de faire avec le AES_ENCRYPT mais jamais eut aucun problème et niveau sécurité c'est encrypter jusqu'à 256 bits.

Après c'est peut être une question de gout et de couleurs ...

par SpintroniK » 24 sept. 2008, 16:39

Le md5 c'est pas le top je trouve : http://www.authsecu.com/decrypter-dechi ... sh-md5.php

Au pire, utiliser le sha1 ça peut être une solution.
Sinon, faut aussi penser au grain de sel avant de faire un md5, dans ce cas, le md5 est toujours une bonne solution (qui dépend de la "qualité" du grain de sel.

Plus d'infos ici (tout simplement) : http://fr3.php.net/md5

par jojolapine » 24 sept. 2008, 11:30

Je comprends pas trop comment il pourrait y avoir un cheveux sur la soupe en fait ?
Il y a plusieurs solutions, tu as coder un script comportant des failles, ou tu en utilise un c'est pareil, et hop tu te faits récupérer tes identifiants de connexion à la bdd...
Ou alors, ton hebergeur fait une énorme betise et paf!
ou tu fait des sauvegardes de ta bdd mais oups tu as oublié de les mettres dans un répertoire protégé...
Enfin bon il faut toujours se dire que ce qui est accessible par toit pourrait l'être par d'autres...
Donc le md5 est une sécurité supplémentaire!

par agité » 24 sept. 2008, 11:19

Bonjour,
oui il est possible d'appliquer la fonction MD5 à l'insertion dans une base, après automatiquement, je suis pas sur...
En tout cas pour le faire "à la main":

Code : Tout sélectionner

INSERT INTO [...] VALUES [...], MD5('blabla') , [...]
Et pour répondre à agité, il est préférable de stocker des mot de passe haché, plutôt que crypté, parce que le jour ou il y a un cheveux dans la soupe, c'est pas trop grave si le hash md5 se baladent en libertée (en tout cas beaucoup moins grave...)
Je comprends pas trop comment il pourrait y avoir un cheveux sur la soupe en fait ?

par Sékiltoyai » 23 sept. 2008, 20:41

Code : Tout sélectionner

UPDATE table SET champ=MD5(champ);

par jojolapine » 23 sept. 2008, 17:18

Bonjour,
oui il est possible d'appliquer la fonction MD5 à l'insertion dans une base, après automatiquement, je suis pas sur...
En tout cas pour le faire "à la main":

Code : Tout sélectionner

INSERT INTO [...] VALUES [...], MD5('blabla') , [...]
Et pour répondre à agité, il est préférable de stocker des mot de passe haché, plutôt que crypté, parce que le jour ou il y a un cheveux dans la soupe, c'est pas trop grave si le hash md5 se baladent en libertée (en tout cas beaucoup moins grave...)

Re: md5 et mysql

par agité » 23 sept. 2008, 14:57

Bonjour
y'a t'il une possibilité que une base mysql convert automatique une motdepasse vers le code md5
?
Je serais toi j'utiliserais AES_ENCRYPT qui est un système d'encryptage alors que md5 lui, ne retourne qu'une chaine hachée de ta chaine de caractère. Qui de plus n'est pas réversible.

Si bien sur c'est pour gérer des mot de passe.

md5 et mysql

par dabdob » 23 sept. 2008, 14:50

Bonjour
y'a t'il une possibilité que une base mysql convert automatique une motdepasse vers le code md5
?