Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CRYPTAGE MD5 SIMPLE


Information sur la source

Catégorie :Sécurité & Cryptage Classé sous : md5 Niveau : Débutant Date de création : 25/12/2005 Date de mise à jour : 25/12/2005 09:36:42 Vu : 18 618

Note :
4,92 / 10 - par 13 personnes
4,92 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (63)
Ajouter un commentaire et/ou une note

Description

C'est tout simple, pour éviter le cracking via John The Ripper ou tout autre logiciel pour les neuneux, je rajoute deux (voir plus selon vous) chiffres ou lettres à coder avec le mot de passe, au cas ou l'un de vos membres utilisent des mots de passes trop simple qui serait suceptible d'être cracké par des logiciels en tout genre.
 

Source

  • <?php
  • $passwd = "curieux";
  • $var = "a".$passwd."z";
  • $var_coded = md5($var); // Donne : md5("acurieuxz");
  • ?>
  • <?php
  • // On envoi le pass crypté sur ce code afin de vérifier si celui ci est valide.
  • // On regènère le MD5 Fake avec comme variable : passget
  • $var = "a".$passwd."z";
  • $var_coded = md5($var);
  • if ($varcoded == $passget) {
  • // Le MD5 est correct, code qui suis
  • }
  • else
  • {
  • die("Cracker !");
  • }
  • ?>
<?php

$passwd = "curieux";
$var = "a".$passwd."z";
$var_coded = md5($var); // Donne : md5("acurieuxz");

?>

<?php

// On envoi le pass crypté sur ce code afin de vérifier si celui ci est valide.

// On regènère le MD5 Fake avec comme variable : passget
$var = "a".$passwd."z";
$var_coded = md5($var);

if ($varcoded == $passget) {
// Le MD5 est correct, code qui suis
}
else
{
die("Cracker !");
}

?>

Conclusion

C'est nul je sais, mais j'utilise ca sur mon site afin d'assurer le cracking ;-)
 

Historique

25 décembre 2005 09:36:42 :
MAJ de la description pour ce code bidon :P

Commentaires et avis

signaler à un administrateur
Commentaire de Samiby le 25/12/2005 11:14:30

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 :) .

signaler à un administrateur
Commentaire de malik7934 le 25/12/2005 12:05:45

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!)

signaler à un administrateur
Commentaire de kankrelune le 25/12/2005 16:32:19

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°

signaler à un administrateur
Commentaire de Anthomicro le 25/12/2005 19:35:03

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 +

signaler à un administrateur
Commentaire de Linuss le 25/12/2005 20:47:12

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))."

signaler à un administrateur
Commentaire de kankrelune le 25/12/2005 20:47:30

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°

signaler à un administrateur
Commentaire de FhX le 25/12/2005 23:20:45

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...

signaler à un administrateur
Commentaire de coucou747 le 26/12/2005 13:55:25

$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 !

signaler à un administrateur
Commentaire de FhX le 29/12/2005 19:32:36

$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 !

signaler à un administrateur
Commentaire de Anthomicro le 29/12/2005 19:45:54

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é.

signaler à un administrateur
Commentaire de malik7934 le 29/12/2005 19:51:07

... 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)

signaler à un administrateur
Commentaire de Anthomicro le 29/12/2005 22:46:15

avec des murs en carton à côté des portes blindées ? (mdr)

signaler à un administrateur
Commentaire de Jayadeva le 01/01/2006 23:04:49

Ce truc est complettement innutile...

signaler à un administrateur
Commentaire de FhX le 02/01/2006 01:47:29

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.

signaler à un administrateur
Commentaire de Gwinyam le 02/01/2006 11:33:06

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

signaler à un administrateur
Commentaire de Samiby le 02/01/2006 11:41:47

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).

signaler à un administrateur
Commentaire de malik7934 le 02/01/2006 11:48:03

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.

signaler à un administrateur
Commentaire de Samiby le 02/01/2006 12:05:25

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 :) .

signaler à un administrateur
Commentaire de coucou747 le 02/01/2006 14:08:13

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...

signaler à un administrateur
Commentaire de malik7934 le 02/01/2006 14:14:56

euh... je m'appelle pas Antho ;)

signaler à un administrateur
Commentaire de coucou747 le 02/01/2006 14:24:21

ah, je croyais, désolé malik...

signaler à un administrateur
Commentaire de Anthomicro le 02/01/2006 16:07:43

"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 +

signaler à un administrateur
Commentaire de obcstaff le 04/01/2006 10:09:08

Aucune utilité ton code mais bon.... ;)

signaler à un administrateur
Commentaire de thomvaill le 24/04/2006 19:11:26

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 ^^

signaler à un administrateur
Commentaire de Anthomicro le 24/04/2006 19:18:05

Bah ça sert à rien...

signaler à un administrateur
Commentaire de coucou747 le 24/04/2006 19:33:42

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...)

signaler à un administrateur
Commentaire de S4RuM4N le 16/08/2006 00:06:49

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.

signaler à un administrateur
Commentaire de coucou747 le 16/08/2006 00:22:54

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....

signaler à un administrateur
Commentaire de ircland le 20/02/2007 02:17:00

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

signaler à un administrateur
Commentaire de kankrelune le 20/02/2007 15:01:42

Allez IRCLAND...

1b05fe3c1e28eaaa1c6825f53491ec07

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

@ tchaOo°

signaler à un administrateur
Commentaire de Anthomicro le 20/02/2007 15:49:03

lol XD

signaler à un administrateur
Commentaire de kankrelune le 20/02/2007 16:04:09

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°

signaler à un administrateur
Commentaire de thomvaill le 20/02/2007 16:17:55

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 :/

signaler à un administrateur
Commentaire de Kdecherf le 20/02/2007 16:37:23

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 !

signaler à un administrateur
Commentaire de FhX le 20/02/2007 16:45:16

Bah il a un processeur quantique :p

Normal qu'il aille plus vite :D :D

signaler à un administrateur
Commentaire de Anthomicro le 20/02/2007 17:20:57

Son cerveau en revanche n'est pas vraiment quantique ...

signaler à un administrateur
Commentaire de ircland le 20/02/2007 23:09:32

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

signaler à un administrateur
Commentaire de ircland le 20/02/2007 23:10:18

Ah et aussi, les autre si il veule essaye de me "defier" ? amener vous!

signaler à un administrateur
Commentaire de motherboy le 21/02/2007 00:08:00

Le futur hackeur de la NASA est dans la place.

Bon d'accord, mon code est bidon, et mal réfléchi, j'avoue :)

signaler à un administrateur
Commentaire de ircland le 21/02/2007 00:39:19

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

signaler à un administrateur
Commentaire de FhX le 21/02/2007 00:52: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 :=)

signaler à un administrateur
Commentaire de motherboy le 21/02/2007 00:55:02

Facile, d'utiliser des bases de données, contenant déjà le hash du mot en question, mais plus difficile de décoder ;-)

signaler à un administrateur
Commentaire de Anthomicro le 21/02/2007 01:44:26

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

signaler à un administrateur
Commentaire de Kdecherf le 21/02/2007 08:22:11

Faudrait surtout qu'il apprenne à parler ...

signaler à un administrateur
Commentaire de motherboy le 21/02/2007 11:49:14

Pour se faire la main aussi :

http://www.security-challenge.com/

signaler à un administrateur
Commentaire de thomvaill le 21/02/2007 12:53:59

"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

signaler à un administrateur
Commentaire de Kdecherf le 21/02/2007 13:38:48

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

signaler à un administrateur
Commentaire de kankrelune le 21/02/2007 15:08:35

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... .. .  

signaler à un administrateur
Commentaire de kankrelune le 21/02/2007 15:19:48

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°

signaler à un administrateur
Commentaire de Kdecherf le 21/02/2007 15:28:08

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.

signaler à un administrateur
Commentaire de thomvaill le 21/02/2007 15:32:42

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.

signaler à un administrateur
Commentaire de FhX le 21/02/2007 15:53:19

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.

signaler à un administrateur
Commentaire de kankrelune le 21/02/2007 15:58:24

@ 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°

signaler à un administrateur
Commentaire de thomvaill le 21/02/2007 16:09:12

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 :/

signaler à un administrateur
Commentaire de kankrelune le 21/02/2007 16:48:15

"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°

signaler à un administrateur
Commentaire de Anthomicro le 21/02/2007 17:19:57

100 % de sécurité n'existe pas, comme ça le sujet est clos, merci à tous les participants :p

/me sort

signaler à un administrateur
Commentaire de thomvaill le 21/02/2007 17:31:19

"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 :( ^^

signaler à un administrateur
Commentaire de Kdecherf le 21/02/2007 17:38:27

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.

signaler à un administrateur
Commentaire de coucou747 le 21/02/2007 18:01:23

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...

signaler à un administrateur
Commentaire de coucou747 le 21/02/2007 18:01:31

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...

signaler à un administrateur
Commentaire de jean84 le 04/11/2007 15:10:15

"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

signaler à un administrateur
Commentaire de coucou747 le 04/11/2007 15:46:02

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,

signaler à un administrateur
Commentaire de Kdecherf le 04/11/2007 15:48:29

Je corrige, C peut faire croire à A qu'il est lui-même B :-)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

cryptage [ par huricane ] Bonjour, J'ai un problème pour crypter de simple mot de passe dans une base de donnée. Je suis sous postgresql et je dispose d'une table utilisateur o mot de passe [ par huricane ] Bonjour, J'ai un problème pour crypter de simple mot de passe dans une base de donnée. Je suis sous postgresql et je dispose d'une table utilisateur o Aide md5 [ par Scare ] ScareBonjour a tous, je voudrais savoir s'il existe une fonction (ou un code) pour décrypter un mot crypter en md5. Merci. md5 [ par eax ] salutje me suis amusé avec la commande md5 pour crypter mes mots de passe dans une table, mais j'aimerais bien savoir comment faire pour récupérer le Décryptage md5() [ par Drazounet ] Salut à tous,Je suis l'auteur d'un forum et j'ai pris la décision de crypter tous les mot de passe grâce à la commande md5().Pour tester le mot de pas Cryptage de données SOS aprentit en detresse ! [ par badjouane ] Pour me sentire un tantiné "plus en securité", j'ais pensé pouvoir généraliser le hachage md5 sur toutes les informations sensible contenue dans ma b MD5 - Visualisation du cryptage [ par sebounet62 ] Bonjour,Je recherche à afficher la valeur d'un MD5.&lt;?php$str = 'pomme';md5($str);echo '$str'?&gt; J'ai tenté de faire ce code mais cela ne fonction Écrire le mot de passe crypter en MD5 [ par Also know as ] Bonjour,Voilà je suis débutant en PHP-MySQL, je suis en train d'essayer un espace membres sur mon site et je souhaite réecrire les données qu'une pers SQL MD5 PASSWORD [ par CDTechStudio ] Salut j'ai une petite question mais importante :PDans le projet que je monte, jutilise SQL, et pour le password du user qui senregistre lors de linsta Mot de passe md5 [ par keisuke ] Salut a tous,Voila je suis entrain de faire un site avec espace membre. Et j'ai un probleme c'est que je ne sais pas comment recup&#233;rer un mot de


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,421 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.