Brute force (petit mais lent) =)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 13 180 fois - Téléchargée 27 fois

Cette source est considérée comme dangereuse, elle a néamoins été gardée dans un but pédagogique :
Cette source est considérée comme dangereuse, elle a néamoins été gardée dans un but pédagogique.

Contenu du snippet

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


<?

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

A voir également

Ajouter un commentaire

Commentaires

Messages postés
36
Date d'inscription
vendredi 28 mars 2003
Statut
Membre
Dernière intervention
12 novembre 2004

Ca fait 30 lignes donc si il y a une erreur, trouvez là et essayer de comprendre.
A part le short open tag à remplacer par <?php, ça fonctionne encore presque 7 ans après :)
Je viens d'exécuter le script en ligne de commande :

$ php bruteforce.php
temps : 6
La somme md5 "d9d7dbddc29177b121a6aa1bb09d15fd" correspond à "bab"

Impossible de passer à 20 caractères, à vue de nez, ça doit vraiment coincer au dessus de 6 caractères. On peut optimiser ça en réduisant le nombre de caractères possibles (ici je fais toute la table ascii).
Messages postés
10
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
9 mai 2011

de toute façon meme si c'est pas fiable on perd rien a essayer...
Messages postés
6
Date d'inscription
vendredi 7 août 2009
Statut
Membre
Dernière intervention
8 juillet 2011

Déjà il y a une erreur dans ton scripte et comment on ajoute jusqu'à 20 caractère sans que sa flingue tout ?
Messages postés
55
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
24 novembre 2009

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
Messages postés
55
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
24 novembre 2009

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
Afficher les 17 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.