Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 2010
-
22 avril 2007 à 03:37
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
1 mai 2007 à 11:08
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 1 mai 2007 à 11:08
"le password circule bien en clair sur le réseau d'ou un man in the middle possible.. "
en rsa, si les clefs n'ont pas deja ete echangees, l'homme du millieu peut serrer les deux mains et quand meme avoir le message en clair
PerfectSlayer
Messages postés30Date d'inscriptionlundi 23 juin 2003StatutMembreDernière intervention29 août 2007 1 mai 2007 à 09:56
En effet, le password circule bien en clair sur le réseau d'ou un man in the middle possible.. Mais tu sais, un simple leylog ou même un hook peuvent prendre tes passwords..
Je m'occupe du site. Dès lors, tout ce qui sort du serveur.. c'est plus mon domaine.. :/
cs_emilia123
Messages postés122Date d'inscriptionmercredi 19 décembre 2001StatutMembreDernière intervention 5 janvier 2009 1 mai 2007 à 09:33
bonjour,
[mode parano activé]
si c'est pour un formulaire web:
- soit le mot de passe de l'internaute n'est pas changé avant la validation du formulaire, il passe en clair sur le réseau, puis le md5 est calculé avec le grain de sel qui dans ce cas n'est connu de personne. par contre le mot de passe circule en clair sur le réseau.
-soit le mot de passe est mis en MD5 avec le grain de sel coté internaute (donc le grain de sel est visible par tous). dans ce cas le mot de passe circule en MD5 mais le grain de sel est connu par tous ceux qui visualise le formulaire ou le javascript lié.
c'est sur que c'est mieux avec un grain de sel, mais je ne pense pas que cela soit non plus "la solution ultime".
[mode parano eteint, je retourne me coucher]
Em.
PerfectSlayer
Messages postés30Date d'inscriptionlundi 23 juin 2003StatutMembreDernière intervention29 août 2007 1 mai 2007 à 08:55
Emilia > Oui en effet pourquoi ? J'aurais du préciser en effet..
cs_emilia123
Messages postés122Date d'inscriptionmercredi 19 décembre 2001StatutMembreDernière intervention 5 janvier 2009 30 avril 2007 à 21:36
>PerfectSlayer>
quand tu parles de chaque log, tu parles de connexion d'un internaute via un formulaire web (loggin) par exemple ?
Rudy3212
Messages postés154Date d'inscriptionvendredi 20 août 2004StatutMembreDernière intervention31 décembre 2007 30 avril 2007 à 16:24
Arreter de critiquer en disant que c'est long :P,
Le but de cette source n'est pas vraiment de cracker un mdp et encore moins si il n'est pas a nous.
Sont but est de montrer le brutforce, et comment le coder, vous pouvait faire des critique sur le code sa oui :P, si il est mal coder... mais pas parceque il est lent a brutforcer un texte à 8 caractères..., c'set sur que vous n'y arriverai pas meme en asm (afin du moins c'est très long)
PerfectSlayer
Messages postés30Date d'inscriptionlundi 23 juin 2003StatutMembreDernière intervention29 août 2007 30 avril 2007 à 13:58
Bah personnellement, "le" grain de sel que j'utilise est généré côté serveur, différent pour chacun des couples : (user,pass), pas stoqué avec les pass (dans une BDD donc) et calculé à chaque log dans une variable au nom dynamique. Donc apres ca devient un peu plus dur pour le trouver.. Mais c'est vrai que rien n'est impossible. Mais le fait que le grain dépende du couple doit augmenter la difficulté du reverse.
cs_emilia123
Messages postés122Date d'inscriptionmercredi 19 décembre 2001StatutMembreDernière intervention 5 janvier 2009 30 avril 2007 à 13:44
bonjour,
juste pour mettre mon grain de sel dans cette histoire...
si on pense que rajouter un grain de sel permet de passer à coté d'un casse de hash, je pense qu'on reve..
Ex on trouve souvent des formulaires web réalisant le hash coté client et envoyant ce code pour vérification. pour traiter correctement le hash il faut que le grain de sel soit aussi coté client...
donc il suffirait d'aller sur le formulaire, de regarder le code qui réalise le hash, et de chercher un résultat du style : hash =>bruteforce=> grain de sel + code.
le grain de sel ne marche que si il (le grain) n'est pas accessible en meme temps que le hash.
Si on est arrivé à récupérer un hash, on doit pas loin du grain de sel (fichier avec code en dur, formulaire d'identification web, etc) vu que l'un sert à l'autre.
Enfin peut etre me trompe je .
EM.
PerfectSlayer
Messages postés30Date d'inscriptionlundi 23 juin 2003StatutMembreDernière intervention29 août 2007 30 avril 2007 à 09:13
Bonjour.
Personnellement, je trouve le code un peu crade mais surtout inutile.. En effet, on ne cherche à faire un reverse sur un hash md5.. La plupart du temps, les passwords enregistrés ne subissent pas qu'un md5. Un simple salt (grain de sel) et toute cette méthode (qui reste vraiment limitée) tombe. Et puis imaginez que le password fasse 8 caractères (dont le premier commence par un Z comme "ZemixX#3") et qui contient des caractères particuliers.. De plus si on augmente le script de quelques caractères, le temps d'execution croit incroyablement :/
apxa
Messages postés188Date d'inscriptionmercredi 15 mai 2002StatutMembreDernière intervention25 avril 2009 24 avril 2007 à 20:29
Iop all
He oui Rudy c'est vrai mais en faite il faudrait rajouter une virgule après inverse ce qui éviterait les confusions.
Have Fun ;)
Rudy3212
Messages postés154Date d'inscriptionvendredi 20 août 2004StatutMembreDernière intervention31 décembre 2007 24 avril 2007 à 11:08
APXA --> "Reverse engineering qui est l'algorithme inverse du hashage md5".
Heu l'algorithme inverse n'existe pas, et n'existera jammais..., c'est un hash pas un cryptage
apxa
Messages postés188Date d'inscriptionmercredi 15 mai 2002StatutMembreDernière intervention25 avril 2009 24 avril 2007 à 02:34
Je rajouterais juste une chose, tu devrais plutot orienter ton code pour faire une bonne demonstration sur l'utilisation des tableaux multidimensionnels, codes ascii et boucle.
Pour l'innovation ce pas ca mais ce qui compte c'est le code et ceux qu'il peut apporter en terme d'exemple pour des débutant(e)s.
Have Fun ;)
apxa
Messages postés188Date d'inscriptionmercredi 15 mai 2002StatutMembreDernière intervention25 avril 2009 24 avril 2007 à 02:27
Iop all,
Bon le mieux en faite se serait d'expliquer ta methode qui en effet et un brute force c'est à dire comparaison de la chaine crypté par une autre chaine crypté générée automatiquement ce qui en effet ne correspond pas avec le principe de Reverse engineering qui est l'algorithme inverse du hashage md5.
Après au niveau du code il est vrai qu'il est un peu brouillon (pas commenté et pas optimsé).
Have Fun ;)
Rudy3212
Messages postés154Date d'inscriptionvendredi 20 août 2004StatutMembreDernière intervention31 décembre 2007 23 avril 2007 à 17:02
Arto_8000 -> L'autre code en PHP que j'ai tester n'utiliser pas de dico, il généré des solution au fure et a mesure
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 23 avril 2007 à 13:05
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 23 avril 2007 à 12:33
si tu as des critiques au sujet de mon site, parles en a mon pere, c'est lui qui l'a tue (je suis 13 semaines sur 16 a 800 km de mon serveur... et ce, sans acces ssh ou autre)
un bruteforce, c'est tester tout les pass les uns apres les autres, c'est bidon comme technique... t'as retrouve un de tes pass de 4 caracteres... super password, il n'etait pas tres sure...
pour les critiques, elles sont toujours constructives, j'ai jamais dit simplement cette source c'est de la merde... sauf peut-etre sur des sources vraiment vraiment simplettes... et j'ai toujours corrige les sources des autres quand je le pouvais... ca permet de voir les gens s'ameliorer...
marcel1307
Messages postés22Date d'inscriptionmercredi 28 mai 2003StatutMembreDernière intervention 5 juin 2008 23 avril 2007 à 10:03
Salut, ton code m'a servi a retrouver un de mes passwd. Alors merci :o)
Je sais que je ne suis pas très actif sur ce site mais je le lis beaucoup... je voudrai donc dire à coucou747 qu'il existe d'autres moyens de communiquer que le dédain. Tu es certainement beaucoup plus fort que tout le monde ici et je reconnais en toi le savoir faire absolu. A contrario, je trouve tout de même malheureux qu'à force de surfer sur ce site, dès que je vois ton avatar j'ai le pré sentiment de voir un reproche derrière. Au lieu de casser la tête aux gens, apprend leur et regarde ton site...
Cordialement, le Marcel des campagnes
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 23 avril 2007 à 00:00
Rudy3212 -> La vitesse dépend aussi de la méthode utiliser en PHP. Avec une attaque par dictionnaire c'est clair que ça prend très peu de temps pour des mots très communs.
richie3366
Messages postés14Date d'inscriptionsamedi 21 octobre 2006StatutMembreDernière intervention23 avril 2007 22 avril 2007 à 23:35
Ok merci pour vos commentaires...
Je dépose ma première source sur ce site et je vois que les réponses sont rapides et très utiles.
Je modifierai la structure dès que je pourrais... mais pas d'ici trois jours ...
Encore merci
++
Rudy3212
Messages postés154Date d'inscriptionvendredi 20 août 2004StatutMembreDernière intervention31 décembre 2007 22 avril 2007 à 22:09
Temps du brutforce pour le hash de "mot" :
Ton script en PHP : 17 secondes
Un autre Script en PHP : 2 secondes
En ASM : Moins de 1 seconde
Donc ce n'est pas le PHP qui est lent mais ton script, il faut que tu le revoit
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 22 avril 2007 à 21:56
"Par contre, si vous voulez trouver un mot de passe de plus de 4 caractères ... il faudra attendre théoriquement ... plus de 2h20 pour 5 caractères.
Il faudrait 6 jours pour trouver une chaine de 6 caractères."
deja, et ensuite, envoi lui un hash correct, et modifie son code pour gerrer plus que 4 caracteres
thekid23
Messages postés77Date d'inscriptionvendredi 24 novembre 2000StatutMembreDernière intervention28 novembre 2007 22 avril 2007 à 21:50
Encore des corections ... il n'a pas déchifré le mot ThEkiD109
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 22 avril 2007 à 21:25
for($i=0;$i<1000000000000000;$i++){
Oh Oh Oh !
Un :
do {
//
} while ( $trouver );
aurait été plus judicieux.
Rudy3212
Messages postés154Date d'inscriptionvendredi 20 août 2004StatutMembreDernière intervention31 décembre 2007 22 avril 2007 à 19:01
Oui c'(est ce que je voulait dire lol, le principe du code du bruteforce
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 22 avril 2007 à 18:55
"Mais bon pour le principe du code je met 7"=> le principe d'un bruteforce ...
Rudy3212
Messages postés154Date d'inscriptionvendredi 20 août 2004StatutMembreDernière intervention31 décembre 2007 22 avril 2007 à 18:28
Pour prouver que ton code est lent :P,
J'ai télécharger et compiler un bruteforceur md5, il ma trouve le hash de test en moins de 1 seconde.
Toi tu a dit que le tient mettait 49 secondes.
49 secondes ont peut attendre pour 4 caractères mais imagines la diffrence sur 6 caractères avec minuscule, majuscuele et caractère spéciaux...
Mais bon pour le principe du code je met 7
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 22 avril 2007 à 17:32
une fonction reciproque du md5 n'existe pas mathematiquement, il faut une relation... md5 n'est pas une fonction injective... bref...
c'est mal code, on n'a pas de recherche disons plus mathematique d'un antecedant bref... c'est note en initie, alors que c'est un simple bruteforce... moi je mets 2
sebastienmz
Messages postés139Date d'inscriptionmardi 16 mai 2006StatutMembreDernière intervention23 juin 2008 22 avril 2007 à 17:26
je donne 9 car je trouve pas mal mais le code un peut "bordel" mais sinon c'est bien
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 22 avril 2007 à 17:13
# for($i=0;$i<1000000000000000;$i++){
...
# if($c1==64 or $trouve==1){ $i=1000000000000000000000; echo" ...FIN";}
utilise une boucle infinie et un break; ca le fera mieux...
le md5 n'a pas vraiment de reverse, et ton debut est foireux, utilise soit une chaine, soit un tableau
Teclis01
Messages postés1423Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention29 décembre 20124 22 avril 2007 à 14:30
...
Ce code est loin d'etre pour des initiés ... de plus il est très sale.
Enfin le brute force en php ... no comment ...
jdalton42
Messages postés200Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention19 août 2009 22 avril 2007 à 11:16
salut beh moi 4 caractere en minuscule il lui a falut 45 secondes :D
je testerais tantot pour 5 caracteres
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 22 avril 2007 à 03:37
C'est généralement très lent faire du brute force avec PHP, avec des logiciels faits pour cela on peut en quelques heures trouver un mot de 8 caractères, ce qui est largmement plus rapide que ton script.
Pour le brute force avec PHP, ça ce limite à des attaques par dictionnaires ou avec des rainbow table SQL.
Pour le temps d'exécution, il suffit de rajouter settimelimit(0) au début de script.
1 mai 2007 à 11:08
en rsa, si les clefs n'ont pas deja ete echangees, l'homme du millieu peut serrer les deux mains et quand meme avoir le message en clair
1 mai 2007 à 09:56
Je m'occupe du site. Dès lors, tout ce qui sort du serveur.. c'est plus mon domaine.. :/
1 mai 2007 à 09:33
[mode parano activé]
si c'est pour un formulaire web:
- soit le mot de passe de l'internaute n'est pas changé avant la validation du formulaire, il passe en clair sur le réseau, puis le md5 est calculé avec le grain de sel qui dans ce cas n'est connu de personne. par contre le mot de passe circule en clair sur le réseau.
-soit le mot de passe est mis en MD5 avec le grain de sel coté internaute (donc le grain de sel est visible par tous). dans ce cas le mot de passe circule en MD5 mais le grain de sel est connu par tous ceux qui visualise le formulaire ou le javascript lié.
c'est sur que c'est mieux avec un grain de sel, mais je ne pense pas que cela soit non plus "la solution ultime".
[mode parano eteint, je retourne me coucher]
Em.
1 mai 2007 à 08:55
30 avril 2007 à 21:36
quand tu parles de chaque log, tu parles de connexion d'un internaute via un formulaire web (loggin) par exemple ?
30 avril 2007 à 16:24
Le but de cette source n'est pas vraiment de cracker un mdp et encore moins si il n'est pas a nous.
Sont but est de montrer le brutforce, et comment le coder, vous pouvait faire des critique sur le code sa oui :P, si il est mal coder... mais pas parceque il est lent a brutforcer un texte à 8 caractères..., c'set sur que vous n'y arriverai pas meme en asm (afin du moins c'est très long)
30 avril 2007 à 13:58
30 avril 2007 à 13:44
juste pour mettre mon grain de sel dans cette histoire...
si on pense que rajouter un grain de sel permet de passer à coté d'un casse de hash, je pense qu'on reve..
Ex on trouve souvent des formulaires web réalisant le hash coté client et envoyant ce code pour vérification. pour traiter correctement le hash il faut que le grain de sel soit aussi coté client...
donc il suffirait d'aller sur le formulaire, de regarder le code qui réalise le hash, et de chercher un résultat du style : hash =>bruteforce=> grain de sel + code.
le grain de sel ne marche que si il (le grain) n'est pas accessible en meme temps que le hash.
Si on est arrivé à récupérer un hash, on doit pas loin du grain de sel (fichier avec code en dur, formulaire d'identification web, etc) vu que l'un sert à l'autre.
Enfin peut etre me trompe je .
EM.
30 avril 2007 à 09:13
Personnellement, je trouve le code un peu crade mais surtout inutile.. En effet, on ne cherche à faire un reverse sur un hash md5.. La plupart du temps, les passwords enregistrés ne subissent pas qu'un md5. Un simple salt (grain de sel) et toute cette méthode (qui reste vraiment limitée) tombe. Et puis imaginez que le password fasse 8 caractères (dont le premier commence par un Z comme "ZemixX#3") et qui contient des caractères particuliers.. De plus si on augmente le script de quelques caractères, le temps d'execution croit incroyablement :/
24 avril 2007 à 20:29
He oui Rudy c'est vrai mais en faite il faudrait rajouter une virgule après inverse ce qui éviterait les confusions.
Have Fun ;)
24 avril 2007 à 11:08
Heu l'algorithme inverse n'existe pas, et n'existera jammais..., c'est un hash pas un cryptage
24 avril 2007 à 02:34
Pour l'innovation ce pas ca mais ce qui compte c'est le code et ceux qu'il peut apporter en terme d'exemple pour des débutant(e)s.
Have Fun ;)
24 avril 2007 à 02:27
Bon le mieux en faite se serait d'expliquer ta methode qui en effet et un brute force c'est à dire comparaison de la chaine crypté par une autre chaine crypté générée automatiquement ce qui en effet ne correspond pas avec le principe de Reverse engineering qui est l'algorithme inverse du hashage md5.
Après au niveau du code il est vrai qu'il est un peu brouillon (pas commenté et pas optimsé).
Have Fun ;)
23 avril 2007 à 17:02
23 avril 2007 à 13:05
http://www.phpcs.com/code.aspx?ID=42416
23 avril 2007 à 12:33
un bruteforce, c'est tester tout les pass les uns apres les autres, c'est bidon comme technique... t'as retrouve un de tes pass de 4 caracteres... super password, il n'etait pas tres sure...
pour les critiques, elles sont toujours constructives, j'ai jamais dit simplement cette source c'est de la merde... sauf peut-etre sur des sources vraiment vraiment simplettes... et j'ai toujours corrige les sources des autres quand je le pouvais... ca permet de voir les gens s'ameliorer...
23 avril 2007 à 10:03
Je sais que je ne suis pas très actif sur ce site mais je le lis beaucoup... je voudrai donc dire à coucou747 qu'il existe d'autres moyens de communiquer que le dédain. Tu es certainement beaucoup plus fort que tout le monde ici et je reconnais en toi le savoir faire absolu. A contrario, je trouve tout de même malheureux qu'à force de surfer sur ce site, dès que je vois ton avatar j'ai le pré sentiment de voir un reproche derrière. Au lieu de casser la tête aux gens, apprend leur et regarde ton site...
Cordialement, le Marcel des campagnes
23 avril 2007 à 00:00
22 avril 2007 à 23:35
Je dépose ma première source sur ce site et je vois que les réponses sont rapides et très utiles.
Je modifierai la structure dès que je pourrais... mais pas d'ici trois jours ...
Encore merci
++
22 avril 2007 à 22:09
Ton script en PHP : 17 secondes
Un autre Script en PHP : 2 secondes
En ASM : Moins de 1 seconde
Donc ce n'est pas le PHP qui est lent mais ton script, il faut que tu le revoit
22 avril 2007 à 21:56
Il faudrait 6 jours pour trouver une chaine de 6 caractères."
deja, et ensuite, envoi lui un hash correct, et modifie son code pour gerrer plus que 4 caracteres
22 avril 2007 à 21:50
22 avril 2007 à 21:25
Oh Oh Oh !
Un :
do {
//
} while ( $trouver );
aurait été plus judicieux.
22 avril 2007 à 19:01
22 avril 2007 à 18:55
22 avril 2007 à 18:28
J'ai télécharger et compiler un bruteforceur md5, il ma trouve le hash de test en moins de 1 seconde.
Toi tu a dit que le tient mettait 49 secondes.
49 secondes ont peut attendre pour 4 caractères mais imagines la diffrence sur 6 caractères avec minuscule, majuscuele et caractère spéciaux...
Mais bon pour le principe du code je met 7
22 avril 2007 à 17:32
c'est mal code, on n'a pas de recherche disons plus mathematique d'un antecedant bref... c'est note en initie, alors que c'est un simple bruteforce... moi je mets 2
22 avril 2007 à 17:26
22 avril 2007 à 17:13
...
# if($c1==64 or $trouve==1){ $i=1000000000000000000000; echo" ...FIN";}
utilise une boucle infinie et un break; ca le fera mieux...
le md5 n'a pas vraiment de reverse, et ton debut est foireux, utilise soit une chaine, soit un tableau
22 avril 2007 à 14:30
Ce code est loin d'etre pour des initiés ... de plus il est très sale.
Enfin le brute force en php ... no comment ...
22 avril 2007 à 11:16
je testerais tantot pour 5 caracteres
22 avril 2007 à 03:37
Pour le brute force avec PHP, ça ce limite à des attaques par dictionnaires ou avec des rainbow table SQL.
Pour le temps d'exécution, il suffit de rajouter settimelimit(0) au début de script.