CRYPTAGE MD5 SIMPLE

Samiby Messages postés 118 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 2 janvier 2006 - 25 déc. 2005 à 11:14
kertimanoff Messages postés 75 Date d'inscription samedi 3 décembre 2005 Statut Membre Dernière intervention 30 juin 2013 - 20 août 2010 à 11:51
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/35248-cryptage-md5-simple

kertimanoff Messages postés 75 Date d'inscription samedi 3 décembre 2005 Statut Membre Dernière intervention 30 juin 2013
20 août 2010 à 11:51
Je voulais juste réagire a une phrase de kankrelune:
"""
Intérêt... lors d'une attaque "man in the middle" le pirate se retrouve avec un pseudo en clair et un hach du pass inutilisable
"""

l'emprunte du passwd étant calculé sur le serveur, l'auteur d'un mitm aura belle et bien le login et passwd en clair, mais cela reléve d'ou tout autre type de faille de sécurité qui ne dépend absolument pas du code php.

cordialement
Kdecherf Messages postés 96 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 18 avril 2007
4 nov. 2007 à 15:48
Je corrige, C peut faire croire à A qu'il est lui-même B :-)
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
4 nov. 2007 à 15:46
quand A parle a B a travers un proxy C, alors en ssl, des l'echange des clefs, C peut faire croire a B qu'il est lui meme A, et il peut faire croire a A qu'il est lui meme C,
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
4 nov. 2007 à 15:10
"SSL ne permet pas la sécurité par un proxy, sauf si tu t'es déjà connecté au mec avant et que tu lis le message de warning : "la clef RSA a été changée, voulez vous continuer"..."

Comment ça ? J'ai pas compris là... normalement SSL s'utilise très bien avec un proxy :^) Ou alors c'est moi qui ai mal compris ta phrase :p
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 févr. 2007 à 18:01
SSL ne permet pas la sécurité par un proxy, sauf si tu t'es déjà connecté au mec avant et que tu lis le message de warning : "la clef RSA a été changée, voulez vous continuer"...
sinon, l'attaque man in the middle, désolé, mais elle est imparable...
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 févr. 2007 à 18:01
SSL ne permet pas la sécurité par un proxy, sauf si tu t'es déjà connecté au mec avant et que tu lis le message de warning : "la clef RSA a été changée, voulez vous continuer"...
sinon, l'attaque man in the middle, désolé, mais elle est imparable...
Kdecherf Messages postés 96 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 18 avril 2007
21 févr. 2007 à 17:38
En ce qui concerne l'interception de paquets, suffit de passer en SSL et puis voilà faut pas se casser la tête :-)

En ce qui concerne ce que tu dis Thomas, je pense que le spoofing est suffisant pour " foutre " la merdouillasse dans des paquets internet.
thomvaill Messages postés 366 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 20 février 2007 2
21 févr. 2007 à 17:31
"Ce n'est pas parce que tu ne vois pas comment faire que ça n'est pas réalisable... au contraire... rien à voir avec un proxy mais plutôt avec un analyseur réseau (sniffer)... .. ."

Oui il faut donc installer ça sur un réseau local ...
Je vois pas comment tu peux sniffer la connexion d'un mec via internet.
Et, oui, le proxy a à voir avec ça. Si je suis le propriétaire d'un proxy et que le mec passe par celui-ci, je vois tout simplement tout son traffic :/

Antho > casse pas notre troll :( ^^
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
21 févr. 2007 à 17:19
100 % de sécurité n'existe pas, comme ça le sujet est clos, merci à tous les participants :p

/me sort
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
21 févr. 2007 à 16:48
"Lol un petit keylogger sur la machine du client et ton script est has been :p"

Là c'est encore une autre histoire ne nous éparpillons pas... .. . ;o)

"Et puis déjà pour intercepter la connexion de quelqu'un, à moins qu'il passe par un proxy ou une autre chose de ce genre, je ne vois pas comment faire"

Ce n'est pas parce que tu ne vois pas comment faire que ça n'est pas réalisable... au contraire... rien à voir avec un proxy mais plutôt avec un analyseur réseau (sniffer)... .. .

Pour ce qui est de la paranoïa tout dépend de ce que tu protège... je me vois effectivement mal installer ce genre de procédé pour un site perso de 3 pages... lol... .. . ;o)

@ tchaOo°
thomvaill Messages postés 366 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 20 février 2007 2
21 févr. 2007 à 16:09
Lol un petit keylogger sur la machine du client et ton script est has been :p

Et puis déjà pour intercepter la connexion de quelqu'un, à moins qu'il passe par un proxy ou une autre chose de ce genre, je ne vois pas comment faire :/
Autant utiliser une connexion SSL pour les parties sensibles du site.

Enfin bon, je sens que ce sujet vire à la paranoïa aïgue :/
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
21 févr. 2007 à 15:58
@ Thomvail... si le javascript est désactivé sur le client tu recevra le pass en clair dans le champ prévu à cet effet et le champ caché sera vide (alors que normalement c'est le contraire) après à toi de faire le test ça représente trois lignes de code en plus... après c'est un choix tu peux autoriser le transit du pass en clair ou non... personnellement pour moi généralement c'est non sauf éventuellement pour des sites avec espace membre à ce moment là tu peux l'autoriser pour les membres (mais pas pour les admin)... .. .

Niveau accessibilité, en tenant compte de ce que je viens de dire au sujet du js désactivé, ça ne change strictement rien... .. .

Concernant l'intérêt en effet tu ne l'as pas compris... le but n'est pas au niveau de la base de données mais au niveau du transit, non pas intestinal, mais des information sur la toile... une attaque "man in the midle" c'est l'interception de données envoyés du client au serveur (ou l'inverse) dans le but soit d'être modifiées en cours de route soit d'être réutilisé par exemple dans le cas d'un couple pseudo/pass... ça n'a rien à voir avec une attaque sur la base de données... .. .

Et comme dit Kdecherf rien n'est infaillible... .. . ;o)

@ tchaOo°
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
21 févr. 2007 à 15:53
Et même en piratant la base de donnée, tu vas pas récupérer les hashs... tu possèdes déja ce qui t'interesse une fois "piratée" la BDD.
thomvaill Messages postés 366 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 20 février 2007 2
21 févr. 2007 à 15:32
Kankrelune > dans ta méthode, tu utilises le JavaScript, ce qui me déplais un petit peu ... En effet certains navigateurs n'ont pas JS ou le désactivent ...

Et au niveau accessibilité (j'ai vu que tu parlais des non-voyants pour le captcha), c'est pas trop ça :/

Et puis je ne vois pas trop l'interret de ta technique. Il faut déjà que le mec pirate ta base de données et obtienne les hashs MD5 des pass.
Kdecherf Messages postés 96 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 18 avril 2007
21 févr. 2007 à 15:28
Pfiou et beh ... à tes souhaits Kankrelune.

Pour ma part, j'ajouterais que de toute façon le parfait n'existe pas donc même niveau cryptage il y aura toujours une faille.

Et à ce moment-là autant être barbare et faire du mélange entre md5, sha1, crypt, rot_13. Ou encore inventer son propre cryptage mais bon au goût de chacun.

En ce qui concerne les collisions, d'avis personnel je pense que c'est négligeable.
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
21 févr. 2007 à 15:19
Oups...

"la solidité d'une chaine est égale à celle de son maillon le plus fort"

=>

la solidité d'une chaine est égale à celle de son maillon le plus faible

Sinon désolé pour les quelques fautes d'or t'aux graphe mais j'ai tapé vite et de toute façon ce n'est pas mon domaine de prédilection... comme quoi IRCLAND tu n'es pas le seul... .. . ;o)

@ tchaOo°
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
21 févr. 2007 à 15:08
LOL IRCLAND... reprenons dans l'ordre et calmement...

"Premierement, fait un vrai md5! si tu veux de l'aide pour le faire , prend http://www.clicasso.fr/outils/md5.php!"

Alors... premièrement comme tu dis si bien le hach que je t'es donné est un authentique hach md5 donc un nombre de 32 caractères hexadécimaux... correspondant de mémoire à la chaine...

<script type="text/javascript">alert('pwet pwet');</script>

(c'est peut être des doubles quotes pour le alert())

Et oui... ils avaient pas pensé à celui là ceux qui on fait le dico que tu as utilisé... non mais tu crois quoi... que j'allais te filer un hach de "bonjour" pour que tu le retrouve en deux minutes dans une base de données... ce qui soit dit en passant n'est pas du décryptage, puisqu'un hasch ne se décrypte pas comme l'a fait remarqué bon nombre des intervenants, mais une recherche... tu sais un peu comme avec google... .. .

"car t'es code php ou t'es programme ou autre vaut pas de la ******!"

Et en français ça donne quoi ? je veux bien croire qu'il y ai quelques différences entre le Français parlé au Canada et celui parlé en France mais à ce point j'en doute... tout du moins pas dans mes souvenirs... pourtant pas si lointain... .. .

"si tu veux, file moi ton msn, ma decoder ton mot de pass en 10secondes crono!"

Non mais franchement j'ai que ça à faire que de passer mon adresse msn à un gamin de 15 ans qui se croit supérieur à tout le monde alors qu'il ne connait même pas la différence entre hach, cryptage, décryptage, brute force et recherche google... .. .

Bon allez petit garnement tenant compte de ton âge et de l'arrogance qui va souvent avec je (on?) ne t'en tiendra pas rigueur mais fais moi plaisir... fais tes devoirs de Français ce soir... ça te sera bien utile dans le future et pas que sur code source... .. .

Bon pour en revenir à nos mouton, parce que troller ça va deux minutes et qu'on est pas dans une cour de récréation, soyons constructif un peu... motherboy ton code n'est pas vraiment bidon bien qu'un peu inutile il est comme tu le dis toi même mal pensé... sur un code touchant à la sécurité comme le tien il faut avant tout voir où (et comment) il y a plus de chance qu'une attaque survienne plutot que de colmater des brèches qui ont peu de chance d'être exploitée... dans le cas présent je pense qu'il faut plus craindre une attaque "man in the midle" ou une attaque brute force... et contre ça voici comment personnellement je procède...

j'utilise un système de hachage sha1 l'un coté php (normalement en natif mais il y a des sources sur le net pour les vieilles versions de php ne le supportant pas) l'autre en javascript... quand un internaute arrive sur la page de connection le script génère un grain de sel de 23 caractères ( uniqid(rand(), true) ) qui est mis d'une part en session d'autre part dans le code html dans l'appel de la fonction javascript de hachage... quand l'internaute soumet son couple pseudo/pass cette fonction javascript de hachage est appelée, cette dernière prend le contenu du champ pass (qu'elle vide par la même) hach le pass en sha1 puis le rehach avec le grain de sel ( sha1($grainDeSel.sha1($pass)) en gros) et met le hach obtenu dans un champ de type hidden qui se retrouve envoyé avec le reste des données du formulaire... .. .

Intérêt... lors d'une attaque "man in the middle" le pirate se retrouve avec un pseudo en clair et un hach du pass inutilisable car même en utilisant la super technique de ninja d'IRCLAND le résultat est un hach + le grain de sel soit 63 caractères hexadécimaux... en gros ça resemble à rien... toi de ton coté lorsque tu reçois les données coté serveur tu n'a plus qu'a comparer le hach soumis avec le pass haché récupéré en base de donnée rehaché avec le grain de sel stocké en session... .. .

Concernant l'attaque brute force c'est pas compliqué... j'utilise une captcha basique (avec appel vocale pour les mal voyants) et au bout de 3 erreurs c'est le ban pendant 30 minutes... .. .

Avec ça tu est bien plus tranquille qu'en rajoutant 1 lettre (ou 2 ou 10) devant le pass (vu que ce dernier à transité en clair entre le client et le serveur ça sert pas à grand chose)... et si tu as peur que l'internaute mette un pass bidon tu peux soit éxiger une longueur minimal soit lui soumettre un pass qu'il ne pourra pas changer (mais ça c'est pas top)... .. .

Pour finir il ne faut jamais oublier que la solidité d'une chaine est égale à celle de son maillon le plus fort... donc blinder l'identification c'est bien mais si tu as des trou partout autour c'est comme mettre une porte blindée sur une grange (;o) Anthomicro)... .. .

@ tchaOo°

ps 1: j'ais peut être redis des trucs qui avaient déja étés dit... désolé j'ais pas pris le temps de relire la discution depuis le début.

ps 2: Coucou747 tu vas me sortir que le double hach ça augmente les chances de collision... c'est un fait mais au final il y a combien de chances sur combien... .. .
Kdecherf Messages postés 96 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 18 avril 2007
21 févr. 2007 à 13:38
lol Thomas, imagines aussi, je fais la chaine MD5 de mon disque dur de 320Go ... Je retrouve en 10 secondes les (~)320 000 000 000 d'octets contenus dans 32 ... Ah l'informatique n'aura jamais fini de m'épater xD
thomvaill Messages postés 366 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 20 février 2007 2
21 févr. 2007 à 12:53
"Salut motherboy, je ne dit rien contre vous et votre code et je n'ai rien d,un hackeur loin de la, je suis nul. J'ai just apres a utilisé un site web qui demande la clé md5 et qui decode... wow dure en ? lol j'ai juste dit que cétais decodable et quelque comique on rie de moi gratuitement, sans preuve ? lol Au contraire, je te dit bravo d'avoir prit le temps d'ouvrir un topic et offrir ce code. Plusieur debutant php ne save codé un mdp... aumoin il aura un code md5... ca sera plus sure qu'un code brut...

Cordialement, Eric"

Donne-nous l'adresse de ce site dans ce cas :)

De plus il faut que tu te mettes dans la tête que le MD5 n'encode pas (et ne décode encore moins). Il HASH une chaîne !
C'est comme, si tu veux, un "résumé" de cette chaîne. La preuve : 788a22bca06fc2d10494972d881b60bb est le MD5-sum d'un fichier de 2.6 Mo, si un tel fichier pouvait être encodé en une chaîne de 32 caractères, ça serait cool :p
motherboy Messages postés 45 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 9 avril 2007
21 févr. 2007 à 11:49
Pour se faire la main aussi :

http://www.security-challenge.com/
Kdecherf Messages postés 96 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 18 avril 2007
21 févr. 2007 à 08:22
Faudrait surtout qu'il apprenne à parler ...
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
21 févr. 2007 à 01:44
IRCLAND > 'si il veule essaye de me "defier" ? amener vous!'

tu veux quoi comme site de hack ? allez je te propose ce site :

http://isatcis.com/

Tu me dis dès que t'as passé quelques niveaux XD
motherboy Messages postés 45 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 9 avril 2007
21 févr. 2007 à 00:55
Facile, d'utiliser des bases de données, contenant déjà le hash du mot en question, mais plus difficile de décoder ;-)
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
21 févr. 2007 à 00:52
Y'a aucun décodage possible en MD5 mon garcon.

Le MD5 est un système de hashage, ce qui signifie que l'algorithme qui est derrière fait qu'il n'y a pas de reversion possible.

C'est pas un cryptage au sens cryptage/décryptage du terme. C'est autre chose :=)
ircland Messages postés 99 Date d'inscription mardi 22 août 2006 Statut Membre Dernière intervention 9 septembre 2014
21 févr. 2007 à 00:39
Salut motherboy, je ne dit rien contre vous et votre code et je n'ai rien d,un hackeur loin de la, je suis nul. J'ai just apres a utilisé un site web qui demande la clé md5 et qui decode... wow dure en ? lol j'ai juste dit que cétais decodable et quelque comique on rie de moi gratuitement, sans preuve ? lol Au contraire, je te dit bravo d'avoir prit le temps d'ouvrir un topic et offrir ce code. Plusieur debutant php ne save codé un mdp... aumoin il aura un code md5... ca sera plus sure qu'un code brut...

Cordialement, Eric
motherboy Messages postés 45 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 9 avril 2007
21 févr. 2007 à 00:08
Le futur hackeur de la NASA est dans la place.

Bon d'accord, mon code est bidon, et mal réfléchi, j'avoue :)
ircland Messages postés 99 Date d'inscription mardi 22 août 2006 Statut Membre Dernière intervention 9 septembre 2014
20 févr. 2007 à 23:10
Ah et aussi, les autre si il veule essaye de me "defier" ? amener vous!
ircland Messages postés 99 Date d'inscription mardi 22 août 2006 Statut Membre Dernière intervention 9 septembre 2014
20 févr. 2007 à 23:09
Wow, vous vous etes bien amuser ? Je ne pouvais repondre, j'etais a l'ecole! je suis au canada alors en ce moment il n'est que 16:55...

Commentaire de : kankrelune le 20/02/2007 15:01:42 Allez IRCLAND...

1b05fe3c1e28eaaa1c6825f53491ec07

Top chrono t'as 10s... lOo°oOl... .. .

@ tchaOo°


Premierement, fait un vrai md5! si tu veux de l'aide pour le faire , prend http://www.clicasso.fr/outils/md5.php! car t'es code php ou t'es programme ou autre vaut pas de la ******!si tu veux, file moi ton msn, ma decoder ton mot de pass en 10secondes crono! Si ca marche... tu fera t'es excuse ici? et tu sera a mes genoux tan quand faire ^^ :P
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
20 févr. 2007 à 17:20
Son cerveau en revanche n'est pas vraiment quantique ...
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
20 févr. 2007 à 16:45
Bah il a un processeur quantique :p

Normal qu'il aille plus vite :D :D
Kdecherf Messages postés 96 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 18 avril 2007
20 févr. 2007 à 16:37
Le MD5 permet 340 282 366 920 938 463 463 374 607 431 768 211 456 possibilités.
Comptant 20ms par requête MySQL, il vous faudrait 215 805 661 416 120 283 779 410 583 099 années pour remplir votre dictionnaire.
Comptant 50 octets par possibilité, il vous faudrait 17 014 118 346 046 923 173 168 730 371 To d'espace disque (et encore, la taille par possibilité est bien supérieure, comptez jusqu'à 140 octets).

Donc bon ...

Et je ne vous parle pas du SHA1 qui compte 1 461 501 637 330 902 918 203 684 832 716 283 019 655 932 542 976 possibilités.

Voilà, c'était un post inutile.

Tout ça pour dire aussi qu'IRCLAND on attend toujours ta solution miracle qui pourrait m'épargner des milliards d'années de taff' pour un foutu mot de passe !
thomvaill Messages postés 366 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 20 février 2007 2
20 févr. 2007 à 16:17
lol, de toute façon, MD5 est un hash, il n'y a donc pas d'autre façon que de le brutefocer. Il est impossible de le décrypter. Donc IRCLAND a le temps avant de trouver le pass ...

Après pour plus de sécurité, il y a sha1(); qui génère un hash de 40 caractères ...
Enfin bon, déjà pour bruteforcer un bon pass en MD5 il faut y aller ... De plus, je ne vois pas pourquoi tes visiteurs auraient accès aux hash des mots de passe contenus dans la base de données :/
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
20 févr. 2007 à 16:04
Bon alors IRCLAND... ça fait déjà une heure que t'es sur le coup... bon allez je te laisse jusqu'à demain matin dernier carat... .. .

@ tchaOo°
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
20 févr. 2007 à 15:49
lol XD
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
20 févr. 2007 à 15:01
Allez IRCLAND...

1b05fe3c1e28eaaa1c6825f53491ec07

Top chrono t'as 10s... lOo°oOl... .. .

@ tchaOo°
ircland Messages postés 99 Date d'inscription mardi 22 août 2006 Statut Membre Dernière intervention 9 septembre 2014
20 févr. 2007 à 02:17
Juste comme ca... en moin de 10 seconde je peux decodé n'importe n'importe kel mot de pass md5 meme si il ne son pas de le dico
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
16 août 2006 à 00:22
bah oui évidement....
zetes vraiment débiles parfois...

appliquer deux md5 à suivre, ça s'ignifie se donner deux fois plus de chances de croiser des collisions...

t'as $pass et $tape
soit :
md5($pass)==md5($tape) (collision n°1) et là, tu l'as dans l'os (mais de toute façon, ça ne change rien)
soit t'as :
md5(md5($pass))==md5(md5($tape)) (collision n°2) et là, bah non seulement tu l'as dans l'os, mais sans le second md5 cette collision aurait pu être évitée....
S4RuM4N Messages postés 4 Date d'inscription mardi 24 juin 2003 Statut Membre Dernière intervention 16 août 2006
16 août 2006 à 00:06
désolé du deterrage, je suis tombé sur ce post par le hazard de google...

Meme si le md5 est relativement lent, il ne se fait que lors du login, ou lors de l'inscription. On peut donc oublier ce probleme, si tant est que le reste du code est optimisé.

Pour faire simple, je propose :

$pass = "pass";
$crypted = md5(md5($pass));

meme si le mot de pass est tout court et tres generique, le hacker devra bruteforcer une chaine de 32 carracteres ( le md5 de "pass" ) pour retrouver le md5 du pass original. Et meme les databases de md5 online ne peuvent pas le proposer, vu que lesdits sites ne proposent que des md5 de pass generiques.

Bon, y'a encore les collisions vous me direz, mais avec un double md5, auquel on peut rajouter un salt, ca suffit generalement.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
24 avril 2006 à 19:33
c'est encore plus débile... rappelons le, md5 reste un algorithme cryptographique, c'est donc un truc relativement lent... (même si il y a pire, faut pas en abuser...)
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
24 avril 2006 à 19:18
Bah ça sert à rien...
thomvaill Messages postés 366 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 20 février 2007 2
24 avril 2006 à 19:11
Si non,
<?php
// Cryptage...
$pass='IlovePHP';
$md5=md5('blahblah'.$pass.'bloblho');
$md5_2=md5('blihblhi'.$md5.'bluhblhu');
$resultat=md5($md5.'blououoh'.$md5_2);
?>
<?php
// Vérification ($pass est le mot de passe à vérifier, $hash étant le hash du vrai pass stocké dans une base de données)
$md5=md5('blahblah'.$pass.'bloblho');
$md5_2=md5('blihblhi'.$md5.'bluhblhu');
$resultat=md5($md5.'blououoh'.$md5_2);

if(md5($resultat.'hahaha'.$pass) == md5($hash.'hahaha'.$pass)){
// OK
}else{
// PAS OK ^^
}
?>

Donc après, moi je dis : Vive les paranos ^^
obcstaff Messages postés 147 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 28 janvier 2008
4 janv. 2006 à 10:09
Aucune utilité ton code mais bon.... ;)
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
2 janv. 2006 à 16:07
"A ceux qui disent que la source est inutile: C'est faux, elle a son utilité. A vrai dire, c'est l'idée qui est avant tout assez bonne. Il faut bien sûr trouver son propre moyen de cacher le mot de passe (de créer un mot issu du mot de passe), un moyen assez secret, afin d'éviter que ce soit deviné par les éventuels "hackers". Cette source est utile car elle protège les données que le "hacker" réussira à décrypter: s'il dé-hashe quelques mots de passe, il ne pourra pas deviner quels sont ces mots de passe. Bien sûr, ça n'empêche pas le sniffage ou autre pratiques du genre (utilisez SSL pour éviter, en partie cela)."

Hum... perso je ne vois pas l'utilité de cette source. Pourquoi ? parce que :

- si le mec n'arrive pas à rentrer dans ton FTP : si il choppe les mots de passe md5 et qu'il arrive à les "bruteforcer" il se doutera bien en voyant trois mots de passe 'aaaamachin', 'aaaamachin', 'aaaamachin' qu'il peut faire sauter le 'aaaa' pour avoir le bon mot de passe.

- si le mec rentre dans ton FTP, il cherchera le fichier PHP qui ajoute la chaîne et la trouvera tout seul, car il faut bien que cette chaîne soit en clair quelque part...

si tu veux améliorer la sécurité du passe mets du SHA1...

si tu veux améliorer la sécurité de ton site pour qu'on ne vole pas les mots de passe (ce qui serait préférable) bah revois ton code mais ça c'est à mon goût inutile.

a +
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 janv. 2006 à 14:24
ah, je croyais, désolé malik...
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
2 janv. 2006 à 14:14
euh... je m'appelle pas Antho ;)
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 janv. 2006 à 14:08
md5 retourne une chaine de 32 caracrères hexa, soit 128 bits...

md5 propose donc : 2^128 possibilitées de caractères...
2^10 environ égal à 1000 donc, 10^39 possibilitées de caractères...

en théorie, si on prends deux chaines aléatoires, on a une chance sur 2^128 pour qu'elles aient le même md5, mais si on leur ajoute un 'a' devant et un 'z' dèrière, alors ces chaines ne sont pas aléatoirement prises, et je ne suis pas sur qu'on garde la même sécuritée... de même en ajoutant la longueur de la chaine dèrière... C'est en utilisant cette théorie que md5 a été cassé... (mais l'algorythme était totalement différent... Mais il n'empèche que les chaines avaient quelquechose de commun, elle n'étaient pas (complètement) prises aléatoirement...)

mais comme antho l'a dit, ça reste mettre un char de combat devant une vielle grange...
Samiby Messages postés 118 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 2 janvier 2006
2 janv. 2006 à 12:05
Evidemment, mais l'idée d'abord proposée par motherboy est de ne pas hasher le mot de passe tel quel, et c'est une bonne idée. Evidemment, c'est à chacun, pour soi-même, d'aller plus loin, et de trouver des "algorithmes" (restant assez simples) pour sa situation, "algorithmes" secrets pour éviter que le hackeur le connaisse, auquel cas le hackeur la protection est inutile.
Comme pour tout ce qui concerne la sécurité, il ne faut jamais donenr ses vraies méthodes :) .
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
2 janv. 2006 à 11:48
Je suis pas d'accord. Un hackeur pas tro pstupide qui a attrappé deux trois hash comprendra tout de suite!

aproutmachinz, achosetrucz, abidulepouetz, ... y a pas besoin d'être très intelligent pour se douter que a et z sont des ajouts... telle quelle, cette source n'est pas bonne.
Samiby Messages postés 118 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 2 janvier 2006
2 janv. 2006 à 11:41
A ceux qui disent que la source est inutile: C'est faux, elle a son utilité. A vrai dire, c'est l'idée qui est avant tout assez bonne. Il faut bien sûr trouver son propre moyen de cacher le mot de passe (de créer un mot issu du mot de passe), un moyen assez secret, afin d'éviter que ce soit deviné par les éventuels "hackers". Cette source est utile car elle protège les données que le "hacker" réussira à décrypter: s'il dé-hashe quelques mots de passe, il ne pourra pas deviner quels sont ces mots de passe. Bien sûr, ça n'empêche pas le sniffage ou autre pratiques du genre (utilisez SSL pour éviter, en partie cela).
Gwinyam Messages postés 47 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 2 janvier 2008
2 janv. 2006 à 11:33
L'idée est rtès bonne, même si après il est sur qu'avec qualques codes décryptés, on finira part trouver la translation.
10/10 pour l'idée en tout cas
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
2 janv. 2006 à 01:47
De toute facon, il te faut bien une chaine en clair coté serveur pour faire une comparaison ou un décryptage si il s'agit d'une méthode de cryptage.
Jayadeva Messages postés 67 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 1 septembre 2008
1 janv. 2006 à 23:04
Ce truc est complettement innutile...
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
29 déc. 2005 à 22:46
avec des murs en carton à côté des portes blindées ? (mdr)
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
29 déc. 2005 à 19:51
... Vous avez déjà entendu parler de ces gens qui utilisent des chars de combat "Léopard" dernière génération pour protéger la porte de leur vieille grange à foin? ...

;o)
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
29 déc. 2005 à 19:45
ouais mais à partir du moment où tu gardes la chaîne en clair ça ne sert à rien à mon goût... le mec qui tente un bruteforce le tentera sur xxxxx100503 par exemple si la date est 10/05/03 (et stockée sous cette forme)... bref perso je n'en vois pas l'utilité.
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
29 déc. 2005 à 19:32
$passwd = 'curieux';
$passwd_len = strlen($passwd);
$code = sha1($passwd.$passwd_len);

A la limite, ca fait un truc un peu plus dynamique. Tu peux aussi couplé ca avec la date d'inscription du gars (ou de la fille) :
$passwd = 'curieux';
$date_inscr microtime(true); // suffira de changer ca en type TIME par exemple> DATE_FORMAT pour le changement directement par SQL
$passwd_len = strlen($passwd);
$code = sha1($passwd.$passwd_len.$date_inscr);

Sachant que tu gardes la date d'inscription de ton futur membre, pas de problème de ce coté la !
Bref, y'a un tas d'astuces !
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
26 déc. 2005 à 13:55
$passwd = "curieux";
$var = "a".$passwd."z";
$var_coded = md5($var);

t'ajoutes des constantes, c'est pas forcément super super... ça permet pas grand chose de plus comme sécurité...

tu peux utiliser sha1, c'est bien plus sécurisé que ça !
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
25 déc. 2005 à 23:20
Le seul moment où un hacker peut piquer le mot de passe c'est en arrivant à se substituer au serveur. Dans ce cas la, il pique les infos qu'il veut, étant donné que les mots de passes sont envoyés en clair.

Reste SSL...
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
25 déc. 2005 à 20:47
Oui en faite la seule utilité est si le hacker réussissait à récupérer le hach du pass et si (ça fait déja deux si) il réussissait à le casser via brute force dans ce cas il obtiendrait un pass erroné puisque contenant le grain de sel... mais comme le dit Anthomicro c'est très subjectif comme protection car un gars capable de faire ça peut faire surement bien d'autres choses... .. .

Ca n'est utile que pour les membres qui prennent un pass vraiment bateau sinon il vaut mieux imposer un pass généré aléatoirement à ce moment là... .. .

Mais l'idée est là... je ne sais pas si tu l'as prise sur SPIP ou si tu y as pensé toi même... je te met 6 car tu ne génère pas le grain de sel aléatoirement... .. .

@ tchaOo°
cs_Linuss Messages postés 176 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 mai 2008
25 déc. 2005 à 20:47
Hello,

Même avis que kankrelune, le cryptage md5 n'est pas infaillible... mais c'est très long; perso, je ne me prends pas plus la tête, car le risque est quasi-nul.
Mais ca serait interressant d'approfondir ce qu'à fait malik :p
"Genre(à froid): md5(strrev($password).md5(substr($password,0,strlen($password)/2))."
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
25 déc. 2005 à 19:35
Salut,

perso j'en vois pas trop l'utilité, les pass en md5 suffisent amplement, étant donné qu'il te faudra de toute façon stocker ton bout de pass en plus en clair apparemment, bref si le mec arrive à passer un md5, je pense que de trouver un bout de chaîne en clair ne lui posera pas de problème.

a +
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
25 déc. 2005 à 16:32
Le portail SPIP utilise le principe du grain de sel... une chaine de quelques caractères est générée aléatoirement au moment de l'inscripton du membre et est ajoutée au mot de passe avant son hachage... ensuite le grain de sel est stocké en clair dans la base de donnée... ainsi le grain de sel est différent pour tout le monde... .. .

C'est un bon systeme mais pas infaillible... si on réussi à faire brut force sur le hach (faut déja récupérer le hach) d'un pass on réussira à le faire sur le hach d'un pass avec le grain de sel... et si on essaye de trouver le mot de passe en clair ça ne change pas non plus grand chose vu que le grain de sel est ajouté lors avant la comparaison des chaines... .. .

@ tchaOo°

@ tchaOo°
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
25 déc. 2005 à 12:05
Moi je ne serais pas autant enthousiaste, au contraire: le problème avec cette méthode c'est que, à supposer qu'on arrive à cracker deux mots de passe, quand on voit zfmotdepassekc, zfpasswordkc, on comprend vite que zft et kc sont des leurres.

Conclusion: il faudrait plutôt imaginer un ajout en fonction du mot de passe lui même suffisamment 'ouf' pour rendre l'analyse ultra dure. Genre(à froid): md5(strrev($password).md5(substr($password,0,strlen($password)/2)).

Mon exemple est balancé à froid et pas réfléchi, mais l'idée derrière est que pour qu'un type arrive à comprendre un tel fouilli, il doit se lever tôt :)

Ceci dit, je crois que md5($password) suffit largement du moment que le password n'est pas un mot du dico (ce qui force les crackeur à faire du brute force, et là je dis bonne chance!)
Samiby Messages postés 118 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 2 janvier 2006
25 déc. 2005 à 11:14
Mais ... si je prends simplement plusieurs mots de passe (un nombre assez important), que je les craque tous avec un logiciel comme john the ripper, je risque de trouver facilement la translation d'un mot à l'autre, non ?
Dans l'absolu, il faudrait donc trouver une transformation secrète et que l'on ne peut deviner, afin que les mots de passe ne soit pas découverts.
Mais ça mérte quand même une bonne note, pour l'idée et la mise en oeuvre :) .
Rejoignez-nous