begin process at 2010 03 21 19:11:02
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité & Cryptage

 > BRUTE FORCE (PETIT MAIS LENT) =)

BRUTE FORCE (PETIT MAIS LENT) =)


 Information sur la source

Attention: ce code a été marqué comme suspect par un admin, il peut donc être dangereux. Ce code a été laissé sur le site dans un but pédagogique, ne l'exécutez pas si vous ne comprenez pas son contenu!
Note :
7,22 / 10 - par 9 personnes
7,22 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Sécurité & Cryptage Niveau :Débutant Date de création :09/01/2004 Date de mise à jour :05/09/2004 22:43:00 Vu :9 753

Auteur : scullder

Ecrire un message privé
Site perso
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

 Description

Voilà, ma première source ici, sans prétention =) C'est en fait un petit brute force qui vous permettra "peut-être" de retrouver des sommes md5 de chaîne de caractères courtes (autour de 3 caractères) =)
Je ne pense pas que ce soit la meilleure façon de faire, mais ça fonctionne.

Source

  • <?
  • set_time_limit("0");
  • function brute_force($number_char,$test_char,$char)
  • {
  • $i = 0;
  • $n = $number_char - 1;
  • while ($i <= 256)
  • {
  • $chars = chr($i);
  • $last_char = $char.$chars;
  • if ($number_char > 1 && $i <= 256)
  • {
  • $last_char = brute_force($n,$test_char,$last_char);
  • }
  • if ($test_char == md5($last_char))
  • {
  • break;
  • }
  • $i++;
  • }
  • return $last_char;
  • }
  • $time = time();
  • $test = brute_force(3,"d9d7dbddc29177b121a6aa1bb09d15fd","");
  • $time2 = time() - $time;
  • echo "\ntemps : ".$time2."\n";
  • echo "La somme md5 \"d9d7dbddc29177b121a6aa1bb09d15fd\" correspond à \"".$test."\"";
  • ?>
<?

set_time_limit("0");

function brute_force($number_char,$test_char,$char)
{
   $i = 0;
   $n = $number_char - 1;
   while ($i <= 256)
   {
      $chars = chr($i);
      $last_char = $char.$chars;
      if ($number_char > 1 && $i <= 256)
      {
         $last_char = brute_force($n,$test_char,$last_char);
      }
      if ($test_char == md5($last_char))
      {
         break;
      }
      $i++;
   }
   return $last_char;
}
$time = time();
$test =  brute_force(3,"d9d7dbddc29177b121a6aa1bb09d15fd","");
$time2 = time() - $time;
echo "\ntemps : ".$time2."\n";
echo "La somme md5 \"d9d7dbddc29177b121a6aa1bb09d15fd\" correspond à \"".$test."\"";
?> 

 Conclusion

function brute_force(nombre de caractère du mdp non crypté,somme md5,chaine de caractère de départ)
en dehors de la fonction, le code complémentaire et là pour montrer son utilisation.
Un screen est disponible à cette adresse : http://scullder.free.fr/screen/brute_force_fini.PN G


 Historique

05 septembre 2004 22:38:17 :
correction du texte de présentation.
05 septembre 2004 22:43:00 :
problème backslash dans le script

 Sources du même auteur

ASPIRATEUR D'ETAJV
CRÉATEUR DE PLAYLIST EN PHP GTK

 Sources de la même categorie

FONCTION DE NETTOYAGE DE VARIABLES AVEC UNE INSTALLATION DE ... par jroger
ALGORITHME DE CÉSAR SUR LA TABLE ASCII par Nementon
Source avec une capture CODEC D'OBFUSCATION DE LIEN HTML (PHP5) par masternico
GÉRER UN .HTPASSWD par coockiesch
Source avec Zip SERSESSIONS > CLASS PHP5 POUR GERER LES SESSIONS SIMPLEMENT par Astalavista

Commentaires et avis

Commentaire de C le 11/01/2004 11:45:43

llama

Commentaire de Astalavista le 12/01/2004 21:59:28

Et l'idée de publier ce code vient d'ou ??? LOL

Commentaire de scullder le 13/01/2004 17:50:44

^_^ d'une autre source en fait, mais bon,  dans cette source il manquait le dictionnaire et je pensais que ce serait intéressant de montrer ma méthode. (même si c'est pas forcément bien la limite de caractère à définir soit même)

Commentaire de Astalavista le 17/02/2004 21:56:21

j'ai une petite info qui pourais t'aider, enfin acceller enormement :
Essaye de fair $variable = a + 1
et tu vera que variable = à b
c'est très utile ca .. tu vera

Commentaire de mavounet le 07/05/2004 11:36:37

Pourquoi vous donner tant de mal à tenter de déchiffrer une chaine de caractère qui n'est pas contenue dans son empreite?
Je m'explique ...
MD5 permet de faire une empreinte numérique d'une chaîne de caractères afin de vérifier son authenticité par comparaison.
Je mets au défi quiconque de retrouver avec certitude LA chaîne de caractère suivante :

"aa36dc6e81e2ac7ad03e12fedcb6a2c0"


En effet, je pourrai mettre ma main à couper avec confiance que vous n'y arriverai pas, puisque le message dont l'empreinte est "aa36dc6e81e2ac7ad03e12fedcb6a2c0" n'est pas contenu ici.
On de décrypte pas md5 !!!

Commentaire de jb_gfx le 29/07/2004 03:17:50

On le décrypte pas mais on peut le bruteforcer =)

"aa36dc6e81e2ac7ad03e12fedcb6a2c0" = "mdp"

Tu ferais mieux d'aller lire de la doc sur les algos de crypto au lieu de raconter n'importe quoi ;)

Commentaire de racattac13 le 22/08/2004 13:08:48

Allez coupe toi la main!

Commentaire de scullder le 09/11/2004 18:51:53

"On le décrypte pas mais on peut le bruteforcer =)"

Vi, enfin c'est pas très fiable quand même, on pourrait très bien trouver une chaine de caractères qui a la même somme md5 qu'une autre et on retrouverai pas la bonne valeur. Enfin, je connais pas le fonctionnement de md5.
Logiquement, une somme md5 a 32 caractères, md5 fonctionne pour des chaines de caractères de n'importe quelle taille...

Commentaire de Astalavista le 11/11/2004 17:41:01

pas que les chaines de caractère, c'est possible aussi pour le fichiers ....

Commentaire de scullder le 11/11/2004 20:21:19

vi pour vérifier l'intégrité d'un fichier téléchargé :) mais là j'y pensais plus et je prennais exemple sur les chaînes de caractères.

Commentaire de adeliz le 19/09/2006 21:47:38

Bonjour.

J'ai une question, Nous savons que le hashage d'un mot de passe en MD5 est de 32 caractères.
Or, le passe ou la phrase enregistrée peux contenir une infinité (ou presque :p ) de possibilitées différents. D'où ma question, est ce que le nombre de possibilité de Hash en MD5 est égal, supérieur ou inférieur au nombre de possibilitées de phrases en clair possible ?

Pourquoi cette question ? Pour savoir si un doublon en hash est possible (ce qui ne devrais pas vu qu'il y a un algo de cryptage [Donc maths] ).

Voila.

Cordialement, Adeliz.

Commentaire de scullder le 19/09/2006 22:12:05

Ca me parait logique que le nombre de md5 est inférieur à l'infinité de phrases en claires. C'est une fonction de hachage, pas un algo de cryptographie.
Donc Oui il y a des "doublons", (des collisions) et on peut maintenant les trouver et en générer rapidement. C'est pas du tout sécurisé, même pour vérifier l'intégrité de données téléchargées (le fichier corrompu peut avoir la même somme md5 que le fichier original).
http://fr.wikipedia.org/wiki/MD5

Commentaire de adeliz le 20/09/2006 09:50:51

Huuummmm...

Le SHA lui même possede des colisions, même si elles seraient plus "rares" que le MD5...
Je pense que le seul moyen d'éviter des colisions (et encore, il doit en rester), c'est de limiter la longueur de la phrase à hasher (vu que nous la cryptons pas :p)

Par contre, je ne trouve pas de fonctions PHP qui permet de crypter en SHA1, SHA224, SHA256... SHA512...

Vous savez ou je pourrais trouver une script qui permet ça ?

Cordialement, Adeliz

Commentaire de adeliz le 20/09/2006 09:55:08

Désolé pour le double post, mais voila ce que j'ai trouvé :

http://antoine.media-box.net/index.php?2006/06/15/23-le-hash-sha-en-php

Je vais continuer mes recherches :D

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales