Page 4 sur 4

Re: [Ex] Sécurité par triple mot de passe

Posté : lun. 16 avr. 2012 17:52
par Fish
@mikell : Si je ne fait pas preuve de fair-play c'est que tu te soustrais aux règles et que tu nie. :o
Essayer de trouver le pass sans utiliser de moyens autres que le bruteforce, c'était le défi...

Re: [Ex] Sécurité par triple mot de passe

Posté : lun. 16 avr. 2012 18:27
par Iste
D'ailleurs @Fish, les regles de ce forum interdisent de poster un exe sans les sources.
Aussi, je vous demanderez de bien vouloir les fournir.

En échange, ceux qui voudront forcer votre code seront donc bien obligé de poster un brutforcer

Re: [Ex] Sécurité par triple mot de passe

Posté : lun. 16 avr. 2012 18:36
par Fish
Pas de problèmes, le contenu des variables est crypté. :)
J'édite le .rar.
Edit : en fait si il y a un problème! Le contenu des variables, même si elles sont cryptés sont de tailles variables (en longueur visible). Si je poste la source exacte de l'exe, n'importe qui peux savoir combien de caractères il y a dans une variable, combien de mots de passes sont nécessaires pour entrer. Dans ce cas, l'exemple en tout début de poste servirait de source non?

Re: [Ex] Sécurité par triple mot de passe

Posté : lun. 16 avr. 2012 18:40
par sksbir
Fish a écrit :@mikell : Si je ne fait pas preuve de fair-play c'est que tu te soustrais aux règles et que tu nie. :o
Essayer de trouver le pass sans utiliser de moyens autres que le bruteforce, c'était le défi...
Puisqu'on parle de fair-play...
Si la teneur du défi consistait à réaliser un outils pour cracker ton systeme, iste a parfaitement résumé le truc:
Iste a écrit :Non, le réel avantage de cette méthode elle qu'elle n'est pas conventionnelle. Donc il faut réécrire un bruteforcer. De plus, étant basé sur le secret, si l'attaquant ne connait pas son fonctionnement, il ne pourra jamais trouver le mdp avec une attaque classique.
Pour ça , faudrait déjà que j'ai des connaissances pour écrire un bruteforcer "classique", ce qui n'est pas le cas.

maintenant, je te mets au défi de répondre par toi même à la question posée:
sksbir a écrit :Donc, maintenant, tu m'expliques comment, en tapant 5 chiffres de 0 à 9 ( et rien d'autre ), tu peux obtenir plus de combinaisons ?
Au fait, autre question : dans le programme que tu livres, il est bien entendu que la solution est un mot de passe de 5 chiffres qu'on tape comme sur un digicode ( c'est à dire sans rien faire de spécial entre chaque chiffre, pas de changement de case, pas de touche enter,etc... )
Il est aussi entendu que si la solution est par exemple : 12345, alors 012345 , 9812345 , 06781212345 sont également des solutions ( c'est comme ça que fonctionne un digicode...)

Re: [Ex] Sécurité par triple mot de passe

Posté : lun. 16 avr. 2012 18:49
par Fish
Ce n'est pas ce qui était convenu : Tu devais trouver un mot de passe de 5 caractères de long insérés dans mon système. Relis le poste si tu veux.
Fish a écrit :Je te lance un défit alors. Je mets le même nombres de caractères que dans ton digicode et on va voir combien de temps tu mets. Okay? ^^

Comment obtenir plus de solutions possibles? C'est le but même de mon système, la aussi tout est dans les 2 premières pages du topic.

Après si ça engendre des conflits autant arrêter de se prendre le choux tout de suite.

Re: [Ex] Sécurité par triple mot de passe

Posté : lun. 16 avr. 2012 18:53
par Iste
La solution n'a pas a etre cachée.

C'est le meme principe qu'un exo de maths ou l'on demande "montrez que a + b = 20"
C'est pas le résultat qui compte, mais la façon de l'obtenir.

Donc en postant un code simple et claire, la seule façon de prouver qu'on a une solution de forçage est d'en montrer une qui marche !

J'irais meme un peu plus loin en proposant un code qui s'auto-crack (qui génére une clef et la recherche sans s'en inspirer)
Ca éviter les pertes de temps qu'on a sur un post classique mais pas sur un post dédié au cracking.

Re: [Ex] Sécurité par triple mot de passe

Posté : lun. 16 avr. 2012 18:58
par Fish
Voila le code alors :
► Afficher le texte

Re: [Ex] Sécurité par triple mot de passe

Posté : mar. 17 avr. 2012 09:31
par sksbir
Fish a écrit :Ce n'est pas ce qui était convenu : Tu devais trouver un mot de passe de 5 caractères de long insérés dans mon système. Relis le poste si tu veux.
Fish a écrit :Je te lance un défit alors. Je mets le même nombres de caractères que dans ton digicode et on va voir combien de temps tu mets. Okay? ^^
La saisie dans un digicode se fait d'un seul tenant. Donc, déjà, l'énoncé est biaisé.

Maintenant, supposons que ton système existe , mais fait par un bricoleur qui n'aurait que des portes et des digicodes sous la main :

A priori, ça serait une seule porte avec 3 digicodes. Mais alors, où est la différence entre 3 digicodes qui contiennent chacun une partie de mot de passe global et un seul digicode qui contient tout le mot de passe global ?
La seule différence, c'est que par exemple pour un code 5 chiffres
12-34-5 ( c'est à dire 12 tapé sur le 1er digicode, 34 sur le 2eme ,etc... ) n'est pas identique à 1-23-45.
C'est bien sur ce point que tu bases toute ton argumentation comme quoi ton programme est plus difficile à passer, n'est ce pas ?

Sauf que ....

Le fait de devoir changer de digicode en cours de saisie n'est qu'un élément de plus. On peut alors tout aussi bien imaginer un seul digicode avec la touche "*" en plus ( par exemple hein ), et "simuler" le changement de digicode avec la touche *

Le code deviendrait donc 12*34*5, et là, tu te rends bien compte que tu es revenu à la case départ en terme de conception : tu es revenu à un seul digicode, mais juste avec une touche de plus. Donc, tu saisis ton mot de passe en base 11 et non plus en base 10, ce qui augmente le nombre de possibilité, mais ne change fondamentalement rien au principe.

CQFD

[edit]

Au fait, il y a 2 solutions à ton défi :
- <rien> <rien> 4 8 0
- <rien> <rien> <rien> 8 0
pourquoi 2 solutions ?
Voici le code que j'ai écrit pour trouver:
► Afficher le texte
Explique moi comment on commence par ne <rien> taper sur un digicode. Avec ton programme, c'est en fait la touche <entree> qui sert de touche "*".
donc le code, c'est **480 ou ***80, et un seul digicode suffit, comme je l'ai démontré plus haut, donc une seule saisie suffit également, et c'est plus simple à retenir.

Autre remarque à propos de ton programme : suppose un instant qu'un farceur soit venu taper des trucs sur ton interface pendant que tu avais le dos tourné : plus moyen de taper le bon code à moins de relancer le programme... pas glop non plus ça...

Re: [Ex] Sécurité par triple mot de passe

Posté : mar. 17 avr. 2012 12:56
par Fish
Alors la, je pense que ya beaucoup de faux dans ce que t'as dit. M'envais les recenser.
Tu a écrit : La saisie dans un digicode se fait d'un seul tenant. Donc, déjà, l'énoncé est biaisé.
Pas du tout! Il a été dit que je mettait le nombre de caractères que tu mets dans ton digicode, intégré dans mon système! L’énoncé est intact.
Tu a écrit :Autre remarque à propos de ton programme : suppose un instant qu'un farceur soit venu taper des trucs sur ton interface pendant que tu avais le dos tourné : plus moyen de taper le bon code à moins de relancer le programme... pas glop non plus ça..
Déjà, pour le farceur, une seule mauvaise partie de mot de passe fausse reset le mot de passe, je n'ai pas vu ça dans ton script pour trouver le mot de passe. Au pire des cas, il vous suffira d'enter un mauvais bout de code volontairement pour remettre a zéro le système.
Tu a écrit :Le fait de devoir changer de digicode en cours de saisie n'est qu'un élément de plus. On peut alors tout aussi bien imaginer un seul digicode avec la touche "*" en plus ( par exemple hein ), et "simuler" le changement de digicode avec la touche *
Exactement vrai! C'est la suite qui n'est pas correcte :
Tu a écrit :Le code deviendrait donc 12*34*5, et là, tu te rends bien compte que tu es revenu à la case départ en terme de conception : tu es revenu à un seul digicode, mais juste avec une touche de plus. Donc, tu saisis ton mot de passe en base 11 et non plus en base 10, ce qui augmente le nombre de possibilité, mais ne change fondamentalement rien au principe.
Si ça change car tu n'est pas sur avec mon système d'être arrivé au bout puisque dès que tu aura préssé entrée, si le bout de passe est faux, il faudra tout recommencer. Pas sur le digicode avec des "*" puisqu'il n'y a qu'une vérification finale. C'est ce que je me tue à vous dire depuis la première page de ce topic. :mrgreen:
Tu a écrit :Au fait, il y a 2 solutions à ton défi :
- <rien> <rien> 4 8 0
- <rien> <rien> <rien> 8 0
pourquoi 2 solutions ?
Voici le code que j'ai écrit pour trouver:
Ton code est faux, il n'y a pas de reset en cas d'échec à une partie de mot de passe.
Voila ce qu'il fallait faire : (Je précise qu'avec la remise à zéro en cas d'échec, ça ne marche plus, notre technique.) :mrgreen:
► Afficher le texte
Tu a écrit :Explique moi comment on commence par ne <rien> taper sur un digicode. Avec ton programme, c'est en fait la touche <entree> qui sert de touche "*".
donc le code, c'est **480 ou ***80, et un seul digicode suffit, comme je l'ai démontré plus haut, donc une seule saisie suffit également, et c'est plus simple à retenir.
Eh non, comme expliqué plus haut, mieux vaut plusieurs saisies pour plus de tests pour plus de chances d'échec. ;)

Re: [Ex] Sécurité par triple mot de passe

Posté : mar. 17 avr. 2012 13:39
par TommyDDR
Juste histoire de simplifier le script (Apprenez à utiliser les tableaux / fonctions quand votre code se répète)
► Afficher le textecode

Re: [Ex] Sécurité par triple mot de passe

Posté : mar. 17 avr. 2012 15:33
par sksbir
Fish a écrit :Pas du tout! Il a été dit que je mettait le nombre de caractères que tu mets dans ton digicode, intégré dans mon système! L’énoncé est intact.
N'importe quelle autre action en dehors de taper sur les touches 0-9 fait sortir l'énoncé des clous.
Avec ton programme , il faut obligatoirement utiliser la touche entree ( ou la souris, c'est pareil ).
Fish a écrit :Au pire des cas, il vous suffira d'enter un mauvais bout de code volontairement pour remettre a zéro le système.
Dont acte.
Fish a écrit :Si ça change car tu n'est pas sur avec mon système d'être arrivé au bout puisque dès que tu aura préssé entrée, si le bout de passe est faux, il faudra tout recommencer. Pas sur le digicode avec des "*" puisqu'il n'y a qu'une vérification finale. C'est ce que je me tue à vous dire depuis la première page de ce topic. :mrgreen:
bon, alors c'est toi qui a raison et ....
jchd a écrit :Allons, si mon mot de passe est jchd que je bruteforce en entrant une lettre à la fois ou en un seul coup ne change strictement rien ! L'espace des clés est le même.
TommyDDR a écrit :Le fait d'avoir plusieurs mot de passe ne change finalement pas grand chose, cela revient à rajouter un caractère.On va prendre pour exemple que le caractère ¥ signifie "valide la partie et passe à la suivante"....
Iste a écrit :... il s'agit comme bien trop souvent d'une sécurité basée sur le secret au lieu de la complexité.
Au final, cela ne fait qu'un mot de passe classique qui doit contenir 3 caractères "validé"
Tous ces gens ont forcément tort.

fish a écrit :Ton code est faux, il n'y a pas de reset en cas d'échec à une partie de mot de passe.
Voila ce qu'il fallait faire : (Je précise qu'avec la remise à zéro en cas d'échec, ça ne marche plus, notre technique.) :mrgreen:
haaa, le meilleur pour la fin. Mon code est peut-être faux, mais quand j'ai utilisé les 2 codes détectés avec ce code soit-disant faux, sur ton programme publié pour défi, ben ça a marché dans les 2 cas... Mais tu vas sans doute oser dire que les codes sont faux aussi.. on n'est plus à ça près...

Allez , continue a essayer de faire passer des formes carrées par des trous rond.. .bon courage.
C'était un homme, il suivait toujours son idée.
C'était une idée fixe, et il s'étonnait de ne pas avancer.
Jacques Prevert
Fin de ma participation ici.


@TommyDDR : j'ai repris vite fait le code de fish et je l'ai transformé à minima pour créer le programme qui permettait de forcer son mot de passe . c'est clair que c'est pas propre, mais c'était un programme one-shot.

Re: [Ex] Sécurité par triple mot de passe

Posté : mar. 17 avr. 2012 16:43
par Iste
Beaucoup d'incompréhensions entre sksbir et Fish ici dirait-on.

@sksbir : le but du code n'est pas de trouver le mdp, qui aurait du être en claire au début du script, mais de le trouver par bruteforce sans court-circuiter le programme.

prenez plutot exemple sur ce code :
► Afficher le texte
On se fiche de savoir que le bon code est "01,10,11", changez moi la boucle du milieux en quelque chose arrivant a faire dire "True" a ma fonction mdp, quelque soit le code ecrit en haut !

Bon au final ca nous apprendra pas grand chose car tout a déjà été dit, mais il faut rester cohérent dans la discutions si on veut qu'elle puisse resservir a l'avenir.

Re: [Ex] Sécurité par triple mot de passe

Posté : mar. 17 avr. 2012 21:25
par Fish
Tu a écrit :haaa, le meilleur pour la fin. Mon code est peut-être faux, mais quand j'ai utilisé les 2 codes détectés avec ce code soit-disant faux, sur ton programme publié pour défi, ben ça a marché dans les 2 cas... Mais tu vas sans doute oser dire que les codes sont faux aussi.. on n'est plus à ça près...

Allez , continue a essayer de faire passer des formes carrées par des trous rond.. .bon courage.
Essaye de crypter ces pass, ce sont ceux la que j'ai utilisés pour les défis (crypte les par eux même en niveau 6 ):
Pass1 :22
Pass2 :
Pass3 :4
Pass4 :8

Re: [Ex] Sécurité par triple mot de passe

Posté : mer. 18 avr. 2012 09:29
par TommyDDR
► Afficher le texteBruteforce
Le seul "problème" est que votre code 22, , 4, 8 -> 2, 2, entrer, entrer, 4, entrer, 8 (je ne compte pas le dernier entrer car on le connais d'avance) nous donne 7 caractères et on à vu plus haut que 7 caractères était déjà très long même sans votre technique, de plus, nous devons attendre à chaque fois que l'input soit créé (technique dite précédemment pour augmenter le temps de bruteforcing).
Mais voila, le principe est là, (inverser les commentaires sur Chars pour commencer proche de la solution

Re: [Ex] Sécurité par triple mot de passe

Posté : mer. 18 avr. 2012 13:31
par Fish
Ca irais plus vite comme ça?
► Afficher le texte
Évidemment c'est si je ne me suis trompé nul part, et j'en doute fort. ^^

Re: [Ex] Sécurité par triple mot de passe

Posté : mer. 18 avr. 2012 13:49
par TommyDDR

Code : Tout sélectionner

Return StringSplit($Retour, $CharSpace[UBound($CharSpace, 1)-1], 3)
Pour info : UBound($CharSpace, 1)-1 signifie, dernier élément du tableau

Tableau que vous avez défini :

Code : Tout sélectionner

Global $CharSpace[11] = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ""]
Stringsplit sur "" ... aïe

Re: [Ex] Sécurité par triple mot de passe

Posté : mer. 18 avr. 2012 13:50
par Fish
Woops... :/

Re: [Ex] Sécurité par triple mot de passe

Posté : mer. 18 avr. 2012 13:56
par TommyDDR
L'important n'est pas "rapide ou non" l'important est que vous voyez que la seule difficulté ajouté est en fait résumé à "ajouter un caractère dans le jeu de caractères"
Par exemple, au lieu d'avoir 0 1 2 3 4 5 6 7 8 9 j'ai du mettre 0 1 2 3 4 5 6 7 8 9 ¥

Donc au final, s'embêter à ajouter retenir plusieurs mot de passe pour si peu de gain de sécurité... je doute que vous puissiez le breveter ^^.

Ma démonstration s'arrête ici, ainsi que mes messages dans ce topic.