CRACKAGE CHAINES CRYPTER EN MD5 PAR BRUTEFORCE

Signaler
Messages postés
6
Date d'inscription
samedi 27 décembre 2003
Statut
Membre
Dernière intervention
6 janvier 2004
-
geekgle
Messages postés
2
Date d'inscription
vendredi 1 mars 2013
Statut
Membre
Dernière intervention
1 mars 2013
-
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/19322-crackage-chaines-crypter-en-md5-par-bruteforce

geekgle
Messages postés
2
Date d'inscription
vendredi 1 mars 2013
Statut
Membre
Dernière intervention
1 mars 2013

Même > mais
geekgle
Messages postés
2
Date d'inscription
vendredi 1 mars 2013
Statut
Membre
Dernière intervention
1 mars 2013

Bonjour,

L'idée est originale mais à mon avis c'est bien juste pour cracker un mot de passe récupéré avec une ARP poisoning. Car généralement sur les sites sensibles les passes bidons sont interdits (dico, chaine sans maj, sans chiffre...) et les mots de passes administrateurs ne se trouvent pas dans le dico (j'ose bien espérer). Et encore même faire un ARP poisoning ne sert quasi plus à rien, car de plus en plus de site proposent de bloquer un compte sur IP, une hôte, ou à l'aide d'un téléphone.

Même par contre une attaque par forcebrut est plus envisageable, car combien de sites ne filtre pas ou mal les requêtes POST.

Cordialement.
swoofer
Messages postés
1
Date d'inscription
mardi 19 février 2008
Statut
Membre
Dernière intervention
16 novembre 2009

================================================================
Commentaire de mavounet le 07/05/2004 11:41:36

Moi j'aimerai soutenir Hurricom qui a parfaitement raison ;)
pardon de vous décevoir ...

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

je suis p-t un peu en retard mais ton défi a échouer ^^ sa ma pris 0.035086 seconds a le trouver! loll...
Hash Pass
aa36dc6e81e2ac7ad03e12fedcb6a2c0 mdp
duran22
Messages postés
2
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
26 avril 2008

super beau merci pour ce post
cs_Carnage
Messages postés
31
Date d'inscription
dimanche 25 août 2002
Statut
Membre
Dernière intervention
1 février 2008

Si vous voulez décrypter un MD5, il existe une solution.
Ce site internet permet de décrypter des MD5, avec surement la plus grosse base de données sur internet.
L'adresse est : http://decrypt.vanvan.cc
mirmoleboss
Messages postés
311
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011

ok merci
cs_Astalavista
Messages postés
192
Date d'inscription
lundi 24 décembre 2001
Statut
Membre
Dernière intervention
3 février 2010

Houuuaa ... Mon programme a fait couler de l'encre ici :)
mirmoleboss :
Oui c'est un problème ... Un mot par ligne ...

Tous les autres :
Inutile de dire que ce script est lent ou que c'est impossible de trouver un mot de passe ...
Ce script est là à but Lucratif et non pour Cracker des mots de passes ... ( Pas comme juliennnn qui cherche a compiler ce code source alors qu'il est sur un site de PHP :) )
mirmoleboss
Messages postés
311
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011

moi jarrive pas a le faire fonctionner et pourtant mon dico ya des mots dedans
mais le fait quil yen ai plusieur parligne est il un probleme?
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
30
transformer le code en programme, ca s'appelle compiler, ici, on ne compile pas, un programme interprete le code... faut chercher sur le net avant de poser des questions comme ca... cf phpdebutant ou php.net
juliennnn
Messages postés
1
Date d'inscription
mercredi 28 février 2007
Statut
Membre
Dernière intervention
28 février 2007

moi j'ai une question je débute et je comprends pas avec quelle logiciel on transforme le code en programme. J'ai essayé de le passer sous bloc notes et d'enregistrer en .exe ca marche pas. quelqu'un peut m'expliquer rapidement ?
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

Les algos de brute force doivent tourner rapidemment, le PHP, c'est pas idéal pour ça. Avec une implémentation de base en C++ on tourne à 500 000 tets par seconde sur un PC "normal" (2GHz) si je me souviens bien. Ça fait combien ici?
ThePilot
Messages postés
25
Date d'inscription
samedi 10 juin 2006
Statut
Membre
Dernière intervention
21 janvier 2008

Je le dit tout de suite, j'ai pas testé cette source, mais j'ai déjà testé des systèmes de décodage de md5... Certes, sa marche pas toujours, mais beaucoup d'utilisateurs ne prennent pas de mots de passe compliqué, et pire, utilisent le même mot de passe pour tout.
De cette façon, et je ne m'en vante pas du tout, c'était juste pour "tester", j'ai réussi à rentrer dans des boîtes mail de certaines personne dont je connaissait les mot de passe hachés en md5...
Comme la majorité des internautes cherchent la simplicité... cette source peut être efficace.
pepekiss
Messages postés
19
Date d'inscription
samedi 17 avril 2004
Statut
Membre
Dernière intervention
14 février 2005

un ptit dernier pour la route :
http://pepowned.free.fr/ :)
cs_caviar
Messages postés
329
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
29 mars 2015
3
salut tout le monde :)
intéréssant cette source :)
un autre petit site qui parle de ça
http://md5.rednoize.com

@++
ezechiel_7
Messages postés
1
Date d'inscription
mercredi 21 juin 2006
Statut
Membre
Dernière intervention
21 juin 2006

Citation.. Astalavista le 29/07/2004 12:21:59Envoyer un message à AstalavistaRetour au code
Bien jouer jb_gfx (et merci de me defendre),
Mavounet, un mot de passe n'est jamais (ou presque) un chaine de caractère, il est même souvent limiter a un nombre de caractère, c'est très rare que dans un site tu puisse mettre plus de 8 caractères pour un mot de passe ...
une fois que tu as la limite tu prend un dico avec au max le nombre limiter de caractre
c'est sur qu'on peut en entrer des mot de passe plus grand mais le but n'est pas de decrypter 50 caractère mais au maximum 8 caractères.


Pour résumer :

deux chaines différentes peuvent en effet donner le même résultat md5. Il est vrai que ceci est plutot le cas
avec des données volumineuses.( ce sont les chinois qui l'ont prouvés). Recherche google...

En effet, ce script va peut être servir pour des petits sites à la con. Mais un programmeur intélligent va utiliser la technique du salting. C'est koi? Rajouter n'importe quoi à la chaine de mdp..

function crypt($pass)
{
$pass=trim($pass)
$salt = "F983UYROHF8U3AORJMKJFGPSPFD793YR03TRJRTKHEFS89EYAF";
$pass=md5(trim($salt.$pass));
...}

Dis moi comment tu comptes retrouver le mdp avec un dictionnaire? L'utilisateur a pourtant rentré
un mdp de disons 8 caractères. Ou moins...

Pour ce qui est du SQL injection, suffit d'utiliser des fonctions comme sprintf() et autres
pour éviter qu'il y a du code qui passe..

Bref, il y a pas mal de prise de tête ici pour pas grand chose. Le pire c'est que vous avez tous un peu raison.
Astalavista, tu a clairement dit que le but était de retrouver des mdp "simples". Ce qui est possible par comparaison.
De l'autre coté, il est vrai que un autre mot peut être a l'origine du hash donné par Mavounet.
C'est vrai aussi qu'il aurai pu donner l'autre solution :p

NB : un code n'est jamais inutile. Il servira tout le temps, même si ce n'est que pour comprendre
certaines fonctions du langage utilisé, c'est utile quand même. Donc un merci au nom de ceux pour qui ceci a été utile.

;) tchaio
dom_ponge
Messages postés
47
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
17 septembre 2006

Ouais c'est vrai.
Enfin bon moi je ne décrypterai pas des mots de passes en MD5...
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
30
euh.... et les acces en lecture seule ? comme le scan de réseau ? (entre la bdd et le serveur apache par exemple)
dom_ponge
Messages postés
47
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
17 septembre 2006

Mais il y a juste une chose que je voudrai dire...
Si quelqu'un a accès a au mot de passe crypté en MD5 il peut SUREMENT le modifié donc mettre le mot de passe qu'il veut!C'est plus visible mais bon...
benozor77
Messages postés
35
Date d'inscription
samedi 29 mai 2004
Statut
Membre
Dernière intervention
25 mars 2007

Bonjour/Bonsoir,

J'en profite pour divulguer mon projet, un projet à titre *éducatif*.

Online MD5 Reverser:
http://ice.breaker.free.fr/
La présentation faite sur le site vous montrera de quoi il en ressort.

Bonne continuation à tous,
benozor77.
gergalp
Messages postés
70
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 mars 2007

c'est ne liste de mots dans un fichier texte.

c'est à toi de le faire, c'est une liste de mots de passes possibles.
onvi
Messages postés
19
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
20 avril 2007

bonjour
c'est quoi doc.txt
comment se le procurer?
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

bah merci, c'est ce que j'ai fait aussi, et on est loin de 10 ^ 308 ! comprends pas :(
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
30
nbr=256^16
or 256=2^8
dc nbr=2 ^(8*16)
nbr=2^128 or 2^10 est environ égal à 10^3
nbr environ égal à 10^(3*13)
nbr environ égal à 10^39
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

Merci bcp granvizir, au fait, pour cette explication. J'ai quand même une question: comment arrives-tu au nombre de combis possibles du MD5, de l'ordre de 10^308 selon toi, or si je fais 256^16, simplement, ça ne concorde pas du tout du tout (même si c'est déjà grand)
dvdstory
Messages postés
192
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
10 août 2009

defkrie est-ce que ta deja diffusé ton script ?
Si oui est-ce que tu peux nous passer l'adresse ?
ET si non ça serait très très sympa de le faire car ça m'interresse grave.
Merci d'avance
meech
Messages postés
209
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
14 août 2007

Salut tout le monde,

En fait, poursuivant l'objectif de définir une clef dont l'unicité serait le fondement d'un champ d'une table de base de données, j'ai pensé au MD5.

En cherchant les "probabilités" de l'éventuel doublon, je remecrie le Ô Grand Vizir de cette réelle explication pleine de rationalité.

Sur le code source en lui-même, rien à dire du point de vue des méthodes de force brute (c'est pas bouveau, nouveau... mais bon...). Par contre, à propos de l'espoir de "cracker" (il me semblait que l'on craquait des clefs, pas du hash), je demeure très septique.

Meech'
cs_grandvizir
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
10
«La théorie reste vraie jusqu'à ce que l'expérience l'infirme». Donc, tant qu'aucun doublon MD5 n'est connu, personne ne peux affirmer que le MD5 n'est pas fiable. Si MD5 résiste autant, c'est pas par hasard... Breveté, quand même !

Si SHA1 est basé sur le même principe que MD5, alors utiliser SHA1 déplace simplement le problème. Passer de 128 à 160 bits diminue certes la probabilité de trouver des doublons (déjà ultra minimissimes), mais rien ne dit qu'ils ont disparu.

Avec SHA1, on a une longueur de sécurité de 20 caractères, ce qui multiplie le temps de brute force par 256 par caractère, soit: 1 SHA = 4 milliards de MD5.

Pour un usage courant, MD5 est donc tout à fait potable même si SHA1 est dit être nécessairement meilleur.
jb_gfx
Messages postés
8
Date d'inscription
mardi 30 mars 2004
Statut
Membre
Dernière intervention
16 octobre 2006


Mavounet> A vrai dire, tu as fais l'erreur de mettre un mot trop évident et surtout trop court. Alors en te vengeant avec «1EEC414ADF814ACBC887F59327DB58FB», tu veux nous faire deviner un mot grotesque bidouillé en 2 secondes sur ton clavier, style «kfj dsàeèr ç_è")r». Là, c'est sûr, on ne le trouvera pas. Pour imiter certains supercalculateurs, il faudrait unir la puissance de calcul de plusieurs PC connectés en réseau via une application dédiée à ce genre de choses... Dans mon commentaire qui suit, je te démontre que le mot de passe que tu nous as donné est effectivement attribué à «mdp», car il est strictement impossible d'en trouver un clone. Si de plus tu te venges avec une nouvelle clé, alors tu admets indirectement que «mdp» était bon (et pas besoin de nous faire croire le contraire, sinon tu nous aurais déjà donné l'autre clé prouvant alors que le MD5 n'est pas unique).


Moi je souligné juste le fait que MD5 n'est pas un système fiable, dans le sens où, justement, il est possible de produire des doublons de hash MD5 correspondant à plusieurs chaînes (et Mavounet met ça en avant comme un avantage pour MD5, encore une preuve qu'il n'y comprend pas grand chose...).

Un exemple, tu as ton super mot de passe "dVQ_r^ü0oT" qui manque de bol produit un hash MD5 identique à la chaîne "mdp" (ce n'est pas le cas, c'est juste un exemple fictif). Alors voilà, il suffit d'injecter la chaîne MD5 pour casser ton super mot de passe, et ça n'a pris que 30 secondes pour la retrouver puisqu'elle est un clone d'un mot hyper simple ("mdp").

Et puis franchement dans le domaine de la sécurité y'a beaucoup d'algos beaucoup plus modernes et puissants que MD5 (SHA1...).
MD5 etant plutôt utilisé pour vérifier l'intégrité de fichiers (somme de contrôle), où là il est meilleur que CRC. Et si PHP inclus MD5 c'est pour cette raison première...
cs_grandvizir
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
10
J'espère ne pas avoir commis de fautes de calcul.

Moralité: ce code source 19322 ne sert bien évidement à rien. Ce qu'on peut seulement gratifier avec ce genre de logiciels, c'est l'exercice de algorithmie. Ben ouais, c'est l'art de l'optimisation (Apache ne le permet pas). A défaut d'avoir des résultats concrets, on pourra se dire qu'on a tenté de faire les choses bien. De ce point de vue, on apprend des choses en programmation et ce n'est pas du tout négligeable.

Décrypter le MD5 ne sert à rien. Considérez plutôt le décodage MD5 comme une assurance pour retrouver des données que vous avez VOUS-MÊME cryptées, style un numéro de carte bancaire, le téléphone de votre amant ou la combinaison de votre coffre-fort... Bref, vous voyez l'intérêt PERSONNEL que cela peut avoir. Un cambrioleur ne pourait pas retrouver les données brutes (sous réserve que vous ayez tout de même agrémenté votre codage de certains caractères exotiques afin de démultiplier les combinaisons).

Sur mon code N°30641 (oui je sais, encore lui), je donne d'autres infos et des liens complémentaires pour différentes interfaces. N'hésitez pas à aller jeter un petit coup d'oeil si ça vous crypte q:))
cs_grandvizir
Messages postés
1237
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
10
=====================
MD5
=====================

Dans la "théorie" MD5, l'algorithme veut se rapprocher le plus possible du cas idéal où chaque clé correspond de manière unique à une chaîne, comme une sorte de bijection.

Le cryptage se fait sur 128 bits, donc 16 octets (1 octet = 8 bits).

Calculons la longueur maximale d'une chaîne avec l'assurance possible de l'unicite:
solve(SUM(256^k,k,0,n)=2^128,n)

On obtient:
n=15.999294179607

Quelque chose est choquant: comment peut-on faire la somme de 0 à N si N n'est pas entier. Oui, mais si on considère cette somme comme somme des termes d'une suite géométrique, alors on peut introduire une formule connue qui fait apparaître des puissances, puis des logarithmes lors de la résolution de l'équation. L'interprétation sur N reste cependant valable.

L'unicité absolue n'est assurée que pour les mots dont la longueur est strictement inférieure à 16. A partir de 16 caractères, étant donné que N est légèrement inférieur à 16, il y a des risques de dédoublement. Mais cela n'est vrai que si la distribution des clés se fait de manière continue et compacte depuis la chaîne de longueur zéro. Or, il n'y a aucune raison que les chaînes de 0 à 15 soient uniques, et pas celles de longueur 16. De plus, pourquoi la clé MD5 serait réservée uniquement à des chaînes de longueur au plus 16, car une chaîne de 50 caractères pourrait très bien ne pas être décodable dans l'intervalle [0..16].

On a donc plusieurs conclusions dans le cadre... :
€ ... de l'idéal compact par la longueur: la répartition des clés se fait de manière unique et continue depuis zéro tant que la longueur reste strictement inférieure à 16, quitte à ce qu'un reste de clés se constitue pour la longueur 16.
€ ... de la distribution homogène dans [0..16]: tous les mots de longueur au plus 16 ont la même probabilité d'être dédoublables, mais rien ne permet de détecter les doublons.
€ ... de la distribution illimitée: une chaîne de 50 caractères pourrait très bien ne pas être décodable dans l'intervalle [0..16], et une chaîne de longueur au plus 16 pourrait avoir plusieurs degrés de multiplicité ce qui diminuerait son incassibilité.



Envisageons maintenant un hashage sur T bits. Le calcul de N ammène:
solve(SUM(256^k,k,0,n)=2^T,n)

Soit:
n=.18*ln(2^T+0.003921568627)-0.003913899321

LN désigne effectivement le logarithme népérien. Or, travaillant sur des hauts bitages, on peut négliger certains termes:
n=.18*ln(2^T)

Cela se simplifie, et on obtient une relation linéaire confirmée par la représentation graphique de la fonction du tout début:
n=.18*ln(2)*T
n=.12476649250079*T

D'ailleurs, en faisant une régression linéaire sur modèle affine (Y=AX+B), on obtient exactement le même résultat avec un bon coefficient R de corrélation. De plus, le coefficient directeur de la droite est cohérant à 1E­11 près. Cependant, il n'est pas nécessaire de garder autant de chiffres significatifs, étant donné que N est un entier.

On peut alors déduire les longueures de sécurite:
BITS LONGUEUR
32 4
64 8
128 16
256 32
512 64
1024 128
2048 128
4096 512
8192 1024

Il suffit donc de diviser le bitage par 8 pour avoir la longueur maximale de sécurite sur laquelle les conclusions sur la distributivité des clés restent valables. Selon la conclusion que l'on choisit, on doit adopter diverses attitudes :
€ Pour la première conclusion: je choisis un mot de longueur BITAGE/8 - 1.
€ Pour la seconde : personne n'est sûr de l'incassabilité de sa clé, quelle que soit la longueur. Il faut alors choisir une clé de longueur BITAGE/8 car elle démultiplie les combinaisons pour les MD5-REA (Reverse Engineering Algorithm, [par méthode brutale bien sûr]).
€ Pour la troisième : il se peut que mettre une chaîne de trop grande longueur augmente la probabilité d'avoir une chaîne de plus courte longueur ayant même MD5, mais si cette probabilité est nulle, alors la chaîne originale est véritablement incassable, car de longueur bien supérieure à la capacité du MD5.



Maintenant qu'on sait faire tout ça, peut-on estimer le nombre de combinaisons données par un cryptage sur T bits ? Ben oui, il suffit de reprendre notre somme:
L=SUM(256^k,k,0,n)
L=(256^(T+1)-1)/255

Définissions alors le nombre suivant qui permet de réduire significativement l'expression de L:
pL=log(L)

Grâce à lui, le nombre de combinaisons s'exprime comme 10 à la puissance pL, avec pL non forcément entier. Dans ce cas là, on repasse à l'exponentielle et au logarithme népérien.

Pour un hashage sur 128 bits (MD5), on a un L énorme. C'est pour cela qu'on préfère utiliser le nombre pL qui vaut alors seulement près de 308. Ainsi, on a environ 10^308 combinaisons distinctes: des milliards de milliards de milliards de... Vous voyez la sécurité du MD5 ! Un nombre avec 308 zéros... C'est inimaginable !!

A raison de 500 000 passes par seconde, on a tps=10^302 secondes, soit 3.10^292 millénaires. L'Univers n'est pas assez vieux... N'en disons pas plus si on considère des bitages encore plus grands, d'où l'argument commercial.
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

si tu crypte en DES plutôt que hasher en MD5, tu dois utiliser une clef fixe: si qq un trouve cette clef, il peut, en ayant acces à ta base de données, récupérer tous les mots de passe des utilisateurs, qui sont souvent les mêmes que les mots de passe des comptes de messagerie. en MD5, et avec toutes les méthodes de hashage, tu n'auras pas cet inconvénient.
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
30
pour les identifications les deux peuvent êtres utilisés...

pour les identifications, on pourait même hasher le mot de passe en js pour qu'il ne se transphère pas en clair (mais du coup, c'est une chaine équivalente qui se baladerait en claire...)

Pour les identifications, la seule diférence que je voi, c'est que si on hashe en md5, l'utilisateur ne peut pas demander que l'on lui renvoi son mot de passe par mail... Je voulais savoir si qqn voyait qqch qui m'aurait échapé...
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

"C'est interressant par raport au DES ?"

ça n'a rien à voir, ce n'est pas du tout le même usage. le DES est un algo de cryptage, le MD5 est un algo de hashage.
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
30
"Il te faut combien de vie pour trouver le md5 d'une petite page ridicule dont le mot de passe est crypté dans la base ???" => c'est pour cette raison que l'on fait un dico : le dico est une sorte de force brute que l'on ne devra utiliser qu'une fois... Exemple pour le RSA on pourait enregistrer chaque nombre premier M que l'on génère pour l'utiliser ensuite sur N (N=P*Q P et Q premiers de 128 bits) Si N / M est entier, alors on a P et Q... On a donc tout car E est passé en arg... Mais si jamais on arrivais à avoir tout les nombres premiers entre 0 et 2^128 alors on légaliserait la crypto 2048... Le dico permet de faire un cassage 'intelligent' c'est à dire qu'il apprendrais des nombres qui optimiseraient les calculs suivants... Enfin tout ça pour dire que c'est un très bon procédé ce cassage...

"sauf si tu arrives à mettre Apache en priorité haute."=> ça sert à quoi un hébergeur selon toi ?? sur un hébergeur, c'est soit MYSQL soit Apache, soit PHP qui a une forte prioritée CPU mais ça reste un langage interprété... ça reste pas très puissant...

MD5, c'est si utilisé que ça pour les BDD ?
Et légalement on est obligé de crypter, ça c'est légal ?
C'est interressant par raport au DES ?
cs_Astalavista
Messages postés
192
Date d'inscription
lundi 24 décembre 2001
Statut
Membre
Dernière intervention
3 février 2010

iomega> Essaye voir maintenant, car a mon avis c'etais un problème du fichier texte qui ne trouvais pas
cs_iomega
Messages postés
144
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
1 septembre 2008

Salut et bravo pour ta source
j'ai un message d'erreur à l'affichage de la page
supplied argument is not a valid File-Handle

ensuite j'en ai plus
peux-tu me dire comment résoudre ce problème
cs_Clem
Messages postés
282
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
12 février 2007

J'ai fait une version C++ par brute force (et non dico), juste pour voir ce que ça donnait sur un language plus rapide, et le résultat est la : http://www.cppfrance.com/code.aspx?ID=25243
( et hop, un coup de pub ^____^ )
cs_Astalavista
Messages postés
192
Date d'inscription
lundi 24 décembre 2001
Statut
Membre
Dernière intervention
3 février 2010

<?
$passe = "mot de passe";
echo md5($passe);
?>
Ceci t'affichera la variable passe en md5 ..
C'est function est utiliser pour certain site pour proteger le mot de passe, et de pouvoir le verifier sans le decrypter (vu qu'il est impossible)
est sous la base MySql (ou autre) le mot de passe crypter en md5 est enregistrer ...
Et sur 'tous les sites' une failles existe.
Certaines faillent permettent d'afficher les données de la base (MySql injection ou autre techniques)
flashfun
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

je ne sais pas comment on peut obtenir le md5 d'un mot de passe, mais si on y arrive pourquoi ne pas le changer le temps de se connecté au site?

ce que je demande est peut-être absurde, mais je voudrais savoir comment avoir un mot de passe en md5.
gergalp
Messages postés
70
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 mars 2007

Je suis bien d'accord, mais ce qui nous intéresse ici, ce n'est pas de pirater les mots de asse de la CIA, juste le compte d'administrateur d'un petit site.

c'est clair que si on a enregistré a 2 endroits le mot de passe, mais crypté différemment, on aura plus de mal à trouver (quoique)...

exemple :
$pass1 = md5($pass);
$pass2 = md5(base64_encode($pass));
flashfun
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

gergalp>
cela dépend de ce qui est protégé par le md5

parfois le mot de passe n'est pas vérifier qu'une seul fois et que d'une seul manière...
gergalp
Messages postés
70
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 mars 2007

Au fait, pour répondre à mavounet:

On s'en fout de savoir si c'est le bon mot de passe, tant que ca marche :D
gergalp
Messages postés
70
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 mars 2007

Il est vrai que l'utilisattion d'un dictionnaire peut etre assez efficace si le dictionnaire est assez complet.
Néanmoins, il ne peut pas servir efficacement contre un hashage MD5.
Si tu veux faire du bruteforce avec PHP, ca sera assez long sauf si tu arrives à mettre Apache en priorité haute. Un script C serait beaucoup plus efficace.

c'est vrai que de coté lecture des fichiers texte est une bonne idée, mais pourquoi pas l'insérer dans une application plus utile?
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

tu rigoles?? c'est au contraire très rare que sur un site tu puisses mettre MOINS que 8 caractères, et tu auras tjs droit aux lettres (maj/min: 52 poss.), aux chiffres (10 poss), et à plein de signes du style !('§('è§(!)'"('"é(çà'"§àçè'"àç(!"éçà'è!"'àç§!')"§èà&"' enfin bref... t'auras un truc du style:

NbCaractères ^ 100

et là, ben bon courage, c'est tt. Et mathématiquement, il existe plusieurs chaînes de données qui donnent la même chaîne hashée, sinon ce serait le meilleur compresseur de données de tous les temps.......
cs_Astalavista
Messages postés
192
Date d'inscription
lundi 24 décembre 2001
Statut
Membre
Dernière intervention
3 février 2010

Bien jouer jb_gfx (et merci de me defendre),
Mavounet, un mot de passe n'est jamais (ou presque) un chaine de caractère, il est même souvent limiter a un nombre de caractère, c'est très rare que dans un site tu puisse mettre plus de 8 caractères pour un mot de passe ...
une fois que tu as la limite tu prend un dico avec au max le nombre limiter de caractre
c'est sur qu'on peut en entrer des mot de passe plus grand mais le but n'est pas de decrypter 50 caractère mais au maximum 8 caractères.
cs_mavounet
Messages postés
22
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
13 juin 2004

Ah ces jeunes !
Il existe plusierus mêmes empreintes pour plusieurs mots de passe différents.
Tu ne peux pas dire avec certitude que le mot de passe d'origine est 'mdp'.

de plus, il y a fort à parier qu'un dico n'arriverai pas à trouver une chaîne aléatoire.
Dis-moi combien de vies humaines il va te falloir pour retrouver un mot de passe alphanumérique du type "gkcn47xad8" ?

un exemple : quelle(s) chaîne(s) de caractères donnent 1eec414adf814acbc887f59327db58fb ?
bon courage :)
jb_gfx
Messages postés
8
Date d'inscription
mardi 30 mars 2004
Statut
Membre
Dernière intervention
16 octobre 2006

mavounet: c'est vrai qu'on ne peut pas decrypter du md5 (dans le sens partir du hash et reverser l'algo pour retrouver le mot origine) mais justement le seul moyen de retrouver le password d'origine est le brute forcing. soit par dico (comme ici). les 2 sources (celle de scullder et celle ci de astalavista) fonctionnent parfaitement pour retrouver des pass cryptés par md5.

Hurricom a raison dans sa façon de décrire le fonctionnement et le fait que ça peut être long pour retrouver le password d'origine, mais toi tu raconte vraiment n'importe quoi.

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

Et moi je peux te dire avec certitude que la chaine correspondant à ce hash est: "mdp" (en minuscule).

Voilà tu peux te couper la main maintenant ;)

Y'a des centaines de progs qui permettent de bruteforcer du md5 sur le net...


Astalavista: dans ta boucle quand tu test les mots vs le hash md5 tu devrait remplacer:

if(trim($decrypt) trim($buf)){$passe $buffer;}

par:

if(trim($decrypt) == trim($buf)) {
$passe = $buffer;
break;
}

Si le mot de passe est trouvé, on quitte la boucle. Pas de raison de contiuner si on a déjà trouvé que "aa36dc6e81e2ac7ad03e12fedcb6a2c0" == "mdp" :-D
BrayanFURIE
Messages postés
1
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
20 mai 2004

mais pfff, vous l'avez testé avant de partir dans vos commentaires !?
Biensur que si cette source est interressante, deja pour certaines fonction de php (en + c'est bien commenté) et puis ca marche donc ca sert a rien de dire que ca va metter 107 ans.
Je parle biensur pour tt ce qui est MDP lorsque l'on a récupéré le hash dans une base de donnée ou autre, c'est une attack par dico et c'est tres rapide.
Et l'interet c'est que vous boferez les recources de votre hebergeur et po les votres, voila :)
cs_mavounet
Messages postés
22
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
13 juin 2004

Moi j'aimerai soutenir Hurricom qui a parfaitement raison ;)
pardon de vous décevoir ...

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

Pour finir, un script de ce genre ("brute force") est utile lorsque les mots de passe sont en clair ou cryptés à la limite, mais en aucun cas pour des mots de passe chiffrés.

Bonne continuation, j'ai quand même mis une note d'encouragement :)
cs_Astalavista
Messages postés
192
Date d'inscription
lundi 24 décembre 2001
Statut
Membre
Dernière intervention
3 février 2010

JE vien de voir que ton compte vien d'etre cree... tu vien de fair le compte et le premier message que tu poste c'est une critique sur une source ... et pour un autre code , tu cree un autre compte ???
Moi je n'ai qu'un compte, j'assume mes critique, je ne me cache pas sous plusieurs pseudos ....

PS : Ton ironie garde la pour toi...
HurriCom
Messages postés
8
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
3 janvier 2006

bof ... :/ moi ça me fait peine, je vous laisse dans votre del. Je vous invite à vous renseigner un peu sur md5 qd même :), car si le principe de ton script est pas mal (quoi que pas originale du tout), il n'en reste pas moins inopérant voir concrètement inutile.
Bon crack de md5. et re lol ! huhuhufhuf ! pardon (he oui en fait il faudrait que je t'aprenne la définition du cracking m'enfin!).
Des scripts j'en pose, mais sous un compte différent sur lequel je soigne mes stats et mon verbe afin de ne pas heurter les susceptibilités.
Avec tous mes encouragements (à faire mieux) ...
Salutations.

PS :ceci sera mon dernier message posté sur le sujet.
cs_Arkko
Messages postés
192
Date d'inscription
mercredi 26 décembre 2001
Statut
Membre
Dernière intervention
31 janvier 2007

LOL, tu l'as cassé je crois héhé
cs_Astalavista
Messages postés
192
Date d'inscription
lundi 24 décembre 2001
Statut
Membre
Dernière intervention
3 février 2010

En premier lieu ce script sert a montrer qu'on peut cracker nimporte quelle chaine d'une facon ou d'une autre ...
Tu dit que c'est un script bidon ... certe pour toi, mais des personnes peuvent le trouver utile ...
Et comme tu voit le peut de code mit a disposition est COMPLETEMENT commenter, ce qui permet de comprendre le fonctionnement de la source et de gerer les fichier texte.
Je voit que tu critique mon code que tu le dit "inutile" mais ... si je ne me trompe pas tu n'as aucun codes sur le reseau ?!?
HurriCom
Messages postés
8
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
3 janvier 2006

Mais lol comme ça sert trop à rien ces scripts !
Stop la perte de temps !!!
Il te faut combien de vie pour touver le mdp d'une petite page ridicule dont le mot de passe est crypté dans la base ???

admettons que tu arrive à trouver le login, il te faudra 50 vies pour arriver à ouvrir ta page, même si la chaîne de caractère du pass est simplissime :)))
genre "bidon ton script mec!"

viva md5 !!!
cs_Astalavista
Messages postés
192
Date d'inscription
lundi 24 décembre 2001
Statut
Membre
Dernière intervention
3 février 2010

Le md5 est un dispositif de codage , qui ne marche que dans un sens, donc ce programme sert a tester plusieur mots pour retrouver la chaine de caractère
juki_webmaster
Messages postés
947
Date d'inscription
mercredi 19 novembre 2003
Statut
Membre
Dernière intervention
5 avril 2008
3
Quesce le MD5 ?
cs_Arkko
Messages postés
192
Date d'inscription
mercredi 26 décembre 2001
Statut
Membre
Dernière intervention
31 janvier 2007

C'est bien mais le php est pas fait pour ca ... 9/10 !!!
Mais si t'en veut un qui massacre va vers le cpp ;)
defkrie
Messages postés
435
Date d'inscription
vendredi 20 septembre 2002
Statut
Membre
Dernière intervention
20 novembre 2004

tu sai il existe des logs qui creé des dico de + de 20 characteres en moins de 10 secondes jen ai fait un en php il prenait bien sur une infinity
cs_scullder
Messages postés
36
Date d'inscription
vendredi 28 mars 2003
Statut
Membre
Dernière intervention
12 novembre 2004

c sympa mais le dictionnaire, tu vas mettre du temps à le faire =)
je pense poster ma source qui marche aussi bien que moisie je l'avoue ^_^.
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

lol, le md5 fournit (par hashage, pas par cryptage) une chaine de 32 octets qui comporte des caractères alphanumériques, majuscules et minuscules.

ça fait: (26+26+10)^32 possibilités, ce qui est énorme.

bien entendu, comme c'est un champ fini (et pas infini comme l'est l'ensemble des données potentiellement hashée avec md5) il existe (une infinité) de(s) chaînes différentes qui donnent le même résultat après md5, seulement la probabilité que cela se produise pr un mot de passe par exemple est très faible (quasi nulle?) puisqu'un mot de passe, ça fait mettons 8 caractères, et il y a les mêmes caractères possibles, plus ?/! etc... imaginons 75 caractères.

75^8 < 62^32

environ 1E15 contre 2E57

donc... la chaine qui donne le même résultat que 'm0n|\/|OdEpa$$e' sera bcp plus longue qu'un mot de passe standard, donc t'auras pas de problème.

et puis à propos de la réversibilité, c'est justement le principe du hashage, c'est que l'algo est irréversible, sinon il ne serait pas utilisé à ça.
cs_Astalavista
Messages postés
192
Date d'inscription
lundi 24 décembre 2001
Statut
Membre
Dernière intervention
3 février 2010

En disant ca, tous les mots de passe qui sont crypter en md5 (pour la plus part des sites PHP) peuvent etre pyrater en entrant un autre passe ???
flashfun
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

Pour revenir au md5(), d'après mes recherches:
Plusieur mots peuvent corresponde à un même cryptage md5(),
donc ton programme ne trouvera pas forcement le bon mot de passe.
J'attend vos remarques.
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

oui c'est ça

et chopez tous le réflexes php.net, tout y est en tchèques, italien, suédois, chinois, etc et même en français alors vous privez pas! y a l'explication en profondeur de ttes les fct
cs_Astalavista
Messages postés
192
Date d'inscription
lundi 24 décembre 2001
Statut
Membre
Dernière intervention
3 février 2010

Ha ok , j'apprend des choses sur ma source ... LOL
Donc EOF = End Of File
cs_JcDuss
Messages postés
37
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
23 avril 2004

while (!feof ($file))

tant que tu n'est pas arrivé a la fin du fichier $file

c'est ca feof, la fin du fichier
Steph666
Messages postés
74
Date d'inscription
jeudi 6 mars 2003
Statut
Membre
Dernière intervention
5 juin 2008

Bonjour,

fgets() retourne la chaîne lue jusqu’à la longueur 4096 octet, ou bien la fin du fichier, ou encore
un retour chariot (le premier des trois qui sera rencontré).

feof() teste la fin du fichier que tu lis.

Stéphane.
WipedOUT
Messages postés
6
Date d'inscription
samedi 27 décembre 2003
Statut
Membre
Dernière intervention
6 janvier 2004

ok Merci
si ta besoin contacte moi
cs_Astalavista
Messages postés
192
Date d'inscription
lundi 24 décembre 2001
Statut
Membre
Dernière intervention
3 février 2010

$file = fopen("dico.txt","r");
while (!feof ($file)) {
$buffer = fgets($file, 4096);
Echo $buffer;
}
fclose($file);

Avec cette source ca t'affiche toutes les lignes du fichier text ...
Mais pour feof() je sais pas ca sert a quoi, j'ai prit le bout de la source sur le site du language PHP
WipedOUT
Messages postés
6
Date d'inscription
samedi 27 décembre 2003
Statut
Membre
Dernière intervention
6 janvier 2004

Oui merci mais feof sert a koi et comment fai tu pour arriver a choisir le mot ligne par ligne merci de me repondre ;)
!!!!
cs_Astalavista
Messages postés
192
Date d'inscription
lundi 24 décembre 2001
Statut
Membre
Dernière intervention
3 février 2010

Moi aussi je debute (vu ma source)
trim() sert a suprimer les espaces blanc (les espaces)
pour eviter l'erreur suivante
md5("test") est different de md5(" test")
Voila ... j'espère que je t'ai aider ....
WipedOUT
Messages postés
6
Date d'inscription
samedi 27 décembre 2003
Statut
Membre
Dernière intervention
6 janvier 2004

Salut man je trouve ta source KEWL mais je debute en php et je comprend tous sauf les commandes kil fo connaitre par coeur celles qu'on peu pas deviner donc j'aimerai bien ke tu me dise a koi servent :
-feof
-trim

mais surtout comment faire pour lire ligne par ligne dans le txt je voudrai savoir si ca a un rapport avec le 4096 ke ta mis a la fin du fget ???
Merci de me repondre au plus vite