OVH Cloud OVH Cloud

Filtrage IP

79 réponses
Avatar
tphilippet
Bonjour,

J'aide un web-master à supprimer les spam de forum, mais maintenant tous par les proxy, vu qu'on a supprimé les plages des pays concernés.

Comme les proxy suppriment l'en-tête de l'expéditeur, j'aimerais savoir si quelqu'un connait le moyen de trouver l'origine dans le paquet ip.

Je sais que l'on peut le faire avec des programmes très spéciaux, qui coutent "les yeux de la tête"e;e;e;, mais n'y a t-il pas une autre méthode ou des programmes free/shreware qui le permettent ?

Je vous remercie d'avance de vos réponses.

10 réponses

4 5 6 7 8
Avatar
Stéphane Catteau
Xavier devait dire quelque chose comme ceci :

Sous Windows ça s'appelle comment, ça ?



Ca s'appelle pas. Windows et SSH, c'est pain in the ass. On y arrive,
mais on en chie.



Dans quel sens ? Parce que bon, PuTTY est très bien et pour le reste
il y a Perl.

--
17/06/1969 - 18/01/2011

Repose en paix mon amour :'(
Avatar
Nicolas George
Stéphane Catteau , dans le message ,
a écrit :
[Désolé pour le retard, obligations familiales qui m'ont accessoirement
permis de tester un truc]



Pas de problème.

Je dois vraiment très mal m'exprimer en ce moment :/ Où est-il
question de comparaison ?



Une analogie, si tu veux.

Tu dis, à juste titre, que ce qui importe le plus ce n'est pas
l'algorithme de cryptage que l'on choisi, mais la clé que l'on y
associe.



Tu simplifie trop les propos. Ce que j'ai dit / voulu dire, c'est qu'un
algorithme de chiffrement correct doit faire porter la sécurité entièrement
sur le secret de la clef, et pas du tout sur le secret de l'algorithme.

C'est une condition nécessaire, pas suffisante, et ça ne veut pas dire que
tous les algorithmes se valent, même ceux qui respectent cette condition.
Certains algorithmes sont cassés, c'est tout.

Pour ma part je me contente de dire que, si l'on rapporte
cette phrase à un algorithme de hachage, donc si l'on doit définir ce
qui est le facteur le plus important dans un tel algorithme, alors
c'est le nombre de bit qui ressort ; autrement dit que le plus
important ce n'est pas l'algorithme de hachage que l'on choisi, mais le
nombre de bit sur lequel il travail.



Eh bien non, ce n'est pas vrai du tout. N'importe qui peut fabriquer en cinq
minutes un algorithme de hachage qui sort 512, 1024, 2048 bits, c'est
complètement trivial. Eh bien cet algorithme de hachage sera inévitablement
moins bon que SHA-1, qui pourtant n'en sort que 160.

Après tout, le bon vieux CRC32 est un algorithme de hachage, mais si
le controle de redondance cyclique vaut encore quelque chose pour
détecter les erreurs, il montre néanmoins ses limites sur les flux de
très grande taille et ne vaut pas grand chose dans les autres usages
dévolus, de fait pour par la pratique, à ces algorithmes.



Tu as raison sur la conclusion, mais pas sur les arguments. Ce qui fait que
CRC32 n'est pas utilisable pour des applications liées à la sécurité, ce
n'est pas seulement sa taille, et ça peut se formuler dans les deux sens :
d'une part, prendre comme haché les 28 premiers bits de SHA-1 serait souvent
plus sûr, d'autre part, on sait faire sans problème des CRC-512, voire même,
avec le document que j'ai sous les yeux, des CRC-4422, il suffit d'un
polynôme irréductible (et si possible primitif) dans Z/2Z du degré qui va
bien.

Seulement voilà, les propriétés algébriques qui font que CRC est facile à
programmer et à étudier, et qui lui donnent des propriétés intéressantes du
point de vue du contrôle de données, font qu'il est vulnérable à toutes
sortes d'attaques en environnement hostile.

Par exemple, sauf erreur de ma part, il est assez facile de démontrer que si
deux fichiers diffèrent sur au plus 32 bits consécutifs, alors leur CRC-32
est différent. C'est très intéressant si on cherche à détecter des erreurs à
coup sûr qui ont la propriété d'être groupée. Mais ça veut aussi dire que si
tu peux choisir arbitrairement 32 bits dans un fichier, ce qui est assez
fréquent, tu peux lui donner le CRC32 que tu veux, au prix d'un calcul assez
simple.

Evidement, le rapport d'exactitude entre les deux affirmations
(importance forte de la clé ou du nombre de bit, par rapport à
l'importance faible de l'algrithme) est plus limité dans le cas d'un
algorithme de hachage. En effet, le nombre de bit est directement lié à
celui-ci, alors qu'un bon algorithme de cryptage sait travailler avec
des clés de longueur/robustesse variable.



Je pense que tu te trompes dans les deux sens. D'un côté, on a SHA-2, qui se
décline en 224, 256, 384 et 512 bits, et qui montre qu'on peut parfaitement
avoir des familles de fonctions de hachage de taille paramétrable. D'un
autre côté, on a quantité d'algorithmes de chiffrement qui ne fonctionnent
qu'avec une taille de clef bien précise (mais souvent l'utilisateur ne s'en
rendent pas compte, parce que le mot de passe qu'il fournit passe d'abord
par un algorithme de hachage pour produire la clef proprement dite).

Rapporté à la pratique, cette affirmation revient donc à dire que
l'algorithme de hachage choisi importe peu, tant qu'il fait parti de
ceux utilisant le plus grand nombre de bits.



Il faut qu'il utilise _assez_ de bits, par rapport aux attaques par force
brute prévues. Et il faut aussi qu'il ne soit pas cassé. Ces deux conditions
sont nécessaires et complètement indépendantes.

Ce n'est pas ce que j'ai dit. Je vais décomposer l'action pour essayer
d'être plus précis :
1) J'ai généré onze (voir plus loin) hash MD5 au hasard en tapant
aléatoirement sur le clavier (donc j'avais les chaînes sous les yeux).
2) J'ai soumis ses onze hash au dictionnaire déjà cité.
3) Dans six cas, il ne m'a rien retourné.
4) Dans un cas il m'a retourné la chaîne que j'avais utilisée, j'ai
donc exclus, peut-être à tort, cette chaine.
5) Dans les quatre cas restant, il a bien trouvé quelque chose
correspondant à ce hash, mais ce n'était *pas* la chaîne que j'avais
utilisé.



Cette fois-ci, il n'y a pas de doute sur l'interprétation de tes propos,
mais je n'y crois pas une seule seconde ; j'espère que tu ne le prendras pas
mal. J'expliquerai un peu plus loin pourquoi.

Peux-tu montrer les chaînes en question ?

De là j'ai terminé en disant que l'échantillon était évidement trop
faible pour en tirer de réelle conclusion, mais que le fait était là,
c'était possible.
Maintenant, après avoir lu ton message, je rajouterais que j'aurais du
jouer au loto car c'était visiblement mon jour de chance ; j'ai réalisé
l'impossible et je l'ai réalisé quatre fois de suite.

Cela étant dit, j'ai profité du fait qu'un autre site, disposant d'un
dictionnaire plus conséquent dispose d'une méthode d'interrogation
directe de son dictionnaire et des quatre jours qui allaient m'éloigner
du forum, pour écrire rapidement un script générant des chaines
aléatoires (de l'espace au tilde) entre 10 et 110 caractères, ainsi que
de chaînes plus proches des mots de passes (alphanumérique entre 6 et
16 caractères) et j'ai testé 30 000 générations pour chaque cas (avec
une pause pour ne pas trop stresser le site)
L'échantillon est déjà plus conséquent, même s'il reste faible
compte-tenu du nombre possible de hash. Résultat, pour les chaînes
complexe, une centaine de fois le hash était déjà dans la base de
données, contre un peu moins d'un millier pour les hashs de chaines
alphanumérique. Et dans un cas comme dans l'autre, il y a eu une petite
dizaine (8 et 7) de cas où le site a donné une autre chaîne que celle
ayant servi à générer le hash (le script vérifiait ensuite que les deux
donnaient effectivement le même hash).
Visiblement, j'ai peut-être encore le temps de jouer au loto ;)



Là encore, j'aimerais voir les chaînes en question.

Voilà d'où vient le problème de compréhension entre nous. En bon
mathématicien, pour toi la probabilité que cela se produise est si
faible qu'elle est impossible ; alors ne parlons pas de la probabilité
que cela se reproduise pour une même personne.



Il n'y a pas que ça. MD5 existe depuis longtemps, et plein de monde
l'utilise pour plein de trucs différents, et en particulier comme clef
d'indexation. L'exemple qui me vient immédiatement à l'esprit concerne MD4
et pas MD5, mais il devrait illustrer ce que je veux dire : sur le réseau
eDonkey, les fichiers sont identifiés par un MD4, et les tranches de
fichiers aussi. S'il y avait des collision aussi fréquentes que ce que tu
racontes, ce ne serait juste pas tenable, les gens passeraient leur temps à
avoir des fichiers avec des tranches mélangées.

Des collisions pour des fonctions de hachage standard, c'est quelque chose
de surveillé de très très près. S'il y en avait autant que tu dis, on en
aurait entendu parler bien avant 2004.
Avatar
Essomba
On 14/03/2013 20:13, Stéphane Catteau wrote:


Autrement dit, que le mot de passe transite en clair ou en crypté ne
change pas grand chose. C'est plus sur lorsque c'est crypté, mais sauf
à considérer que les données sont hyper sensibles, le cryptage est
relativement inutile à ce niveau là. Dans tous les cas, si un mot de
passe non crypté est intercepté, cela signifie qu'il y a une faille de
sécurité nettement plus importante que le simple fait que les données
transitent en clair.



je pense que tu oublies la compromission au niveau du réseau local :
LAN non sûr (des gens s'amusent à tcpdumper voire plus si affinités avec
un admin pas vraiment compétent/surchargé ... le cas dans bcp de
PME/PMI) ou encore un réseau WIFI chez lui mal paramétré. A mon avis le
risque est plus là que en aval. Concenant les réseau à base de CPL je me
suis toujours demandé dans quelle mesure on ne peut pas récupérer
facilement les infos après le compteur EDF ou par d'autres méthodes à
base d'induction à travers un mur ...

L


--
Remplacez yahou par yahoo et com par fr pour me répondre en direct

Laurent
Avatar
Kevin Denis
Le 19-03-2013, Stéphane Catteau a écrit :
Cela étant dit, j'ai profité du fait qu'un autre site, disposant d'un
dictionnaire plus conséquent dispose d'une méthode d'interrogation
directe de son dictionnaire et des quatre jours qui allaient m'éloigner
du forum, pour écrire rapidement un script générant des chaines
aléatoires (de l'espace au tilde) entre 10 et 110 caractères, ainsi que
de chaînes plus proches des mots de passes (alphanumérique entre 6 et
16 caractères) et j'ai testé 30 000 générations pour chaque cas (avec
une pause pour ne pas trop stresser le site)
L'échantillon est déjà plus conséquent, même s'il reste faible
compte-tenu du nombre possible de hash. Résultat, pour les chaînes
complexe, une centaine de fois le hash était déjà dans la base de
données, contre un peu moins d'un millier pour les hashs de chaines
alphanumérique. Et dans un cas comme dans l'autre, il y a eu une petite
dizaine (8 et 7) de cas où le site a donné une autre chaîne que celle
ayant servi à générer le hash (le script vérifiait ensuite que les deux
donnaient effectivement le même hash).



Tu peux fournir ces chaines? Et/ou le script?

Cela dit, je le comprends et n'exclus pas le fait que j'ai énormément
de chance à chaque fois que je fais mumuse avec des chaînes aléatoires
et des dictionnaires.



Je connais assez peu de cas avec des mots courts.
tee >(sed -e s/c/d/ -e s/Vy/dy/ | base64 -d | md5sum 1>&2) <<<DjBlYVWap4fQC8b3C73+NATPA2WecE+FNMAP+2WcTIdAzJQv6y2hFaP0FVy7hgdJc4ZlbX0fNKQgWdePWo3R7w== | base64 -d | md5sum

Du coup, en avoir une quinzaine ça m'intéresserait.
--
Kevin
Avatar
Stéphane Catteau
Nicolas George n'était pas loin de dire :

Après tout, le bon vieux CRC32 est un algorithme de hachage, mais si
le controle de redondance cyclique vaut encore quelque chose pour
détecter les erreurs, il montre néanmoins ses limites sur les flux de
très grande taille et ne vaut pas grand chose dans les autres usages
dévolus, de fait pour par la pratique, à ces algorithmes.



Tu as raison sur la conclusion, mais pas sur les arguments.



Et en plus c'est vraiment pas ma période, je me rends compte que je
m'exprime comme un pied ; heureux au MD5, malheureux à l'argumentation
?
Du coup, tu m'en voudras pas j'espère, je vais faire une coupe sombre.
Ce que tu dis est intéressant, mais vu que j'arrive pas à aligner deux
phrases correctes dans la discussion, je ne suis pas sur que ça
menerait à quelque chose de poursuivre ; enfin à par me mettre encore
plus la honte :D


Ce n'est pas ce que j'ai dit. Je vais décomposer l'action pour essayer
d'être plus précis :




[snip]

Cette fois-ci, il n'y a pas de doute sur l'interprétation de tes propos,
mais je n'y crois pas une seule seconde ; j'espère que tu ne le prendras pas
mal. J'expliquerai un peu plus loin pourquoi.



T'inquiète, je ne le prends pas mal.


Peux-tu montrer les chaînes en question ?



J'ai remarqué que j'avais tendance à rester autour du 'f' lorsque je
tape au hasard sur le clavier, mais de là à pouvoir te dire quelles
touches et dans quel ordre :(


Cela étant dit, j'ai profité du fait qu'un autre site, disposant d'un
dictionnaire plus conséquent dispose d'une méthode d'interrogation
directe de son dictionnaire et des quatre jours qui allaient m'éloigner
du forum, pour écrire rapidement un script générant des chaines
aléatoires (de l'espace au tilde) entre 10 et 110 caractères, ainsi que
de chaînes plus proches des mots de passes (alphanumérique entre 6 et
16 caractères) et j'ai testé 30 000 générations pour chaque cas (avec
une pause pour ne pas trop stresser le site)




[snip]
Là encore, j'aimerais voir les chaînes en question.



Tout ce que je peux te dire, c'est que chacune résulte de :

my $last = int(rand(100))+10;
for( my $i = 0 ; $i < $last ; $i++ )
{ $string .= chr(int(rand(106))+21); }

pour les chaînes longue, et de :

my $last = int(rand(10))+6;
for( my $i = 0 ; $i < $last ; $i++ )
{ for( int(rand(5)) )
{ /[01]/ && do{ $string .= chr(int(rand(26))+65); last; };
/[23]/ && do{ $string .= chr(int(rand(26))+97); last; };
/4/ && do{ $string .= chr(int(rand(10))+48); last; };
} }

pour les mots de passe.

J'explique plus bas pourquoi c'est tout ce que je peux te dire.


Voilà d'où vient le problème de compréhension entre nous. En bon
mathématicien, pour toi la probabilité que cela se produise est si
faible qu'elle est impossible ; alors ne parlons pas de la probabilité
que cela se reproduise pour une même personne.



Il n'y a pas que ça. MD5 existe depuis longtemps, et plein de monde
l'utilise pour plein de trucs différents, et en particulier comme clef
d'indexation.



C'est d'ailleurs l'utilisation la plus répandue avec le cryptage des
données sensibles il me semble, non ?


L'exemple qui me vient immédiatement à l'esprit concerne MD4
et pas MD5, mais il devrait illustrer ce que je veux dire : sur le réseau
eDonkey, les fichiers sont identifiés par un MD4, et les tranches de
fichiers aussi. S'il y avait des collision aussi fréquentes que ce que tu
racontes, ce ne serait juste pas tenable, les gens passeraient leur temps à
avoir des fichiers avec des tranches mélangées.



J'en suis conscient. Avant cette discussion, mon impression tenait
plutôt de, "p'tain mais bordel c'est pas possible d'avoir autant de
collisions", parce que mes essais au fil des ans m'en donnait quelques
unes. Puis je t'ai lu et j'ai lu tes arguments et j'ai décidé de faire
mon script.
Comme je l'ai dit, l'idée derrière se script était de faire un
comptage sur un échantillon plus précis et à vrai dire j'envisageais
deux cas de figure. Soit j'avais raison (ce dont je doutais de plus en
plus), auquel cas j'aurais eu des collisions par centaines, voire par
millier, et il était inutile de conserver la trace des chaînes. Soit
c'est toi qui avait raison (ce qui me semblait plus réaliste) et il
était là aussi inutile de conserver la trace des chaînes, puisqu'il n'y
en aurait aucune.
Au final, la conclusion de ce test, c'est que MD5 a jeté une
malédiction sur moi et s'évertue à réaliser l'impossible lorsque c'est
moi qui fait mumuse avec.


Des collisions pour des fonctions de hachage standard, c'est quelque chose
de surveillé de très très près. S'il y en avait autant que tu dis, on en
aurait entendu parler bien avant 2004.



Je m'en doute un peu. D'un autre côté, toi qui connais et comprend
assurément bien mieux que moi l'algorithme de MD5, *peut-être* que cela
vient de la nature et de la taille (relative) des chaînes utilisées
pour les tests.
Tu parlais de l'indexation, je dois bien avoir une dizaine de script
qui se basent sur MD5 pour le faire, avec un controle de la taille par
la suite (à cause de mon impression première) et je n'ai jamais eu de
problèmes malgré des années d'utilisations. Mais la plus part du temps
il s'agit de chaînes longues, voire extrèmement longues, puisque la
taille des données se compte en Ko, voire en centaine de Ko.
*Peut-être* que MD5 est plus sensible aux collisions sur les chaînes
courtes parce que... comment dire ça avec ma manie actuelle de mal
m'exprimer ? Bah, prenons un bon vieux hachoir de cuisine, plus
longtemps tu le fais fonctionner, plus les gros morceaux auront de
chances de rencontrer les lames et donc d'être haché plus fin.
Rapporté à MD5, ça donnerait quelque chose comme, "[peut-être que]
avec les chaînes courtes l'algorithme n'a le temps de donner tout ce
qu'il a et temps à produire plus de collision".

Franchement, à part la malédiction dont j'ai parlé plus haut, je ne
vois pas d'autres explications pour le résultat de mes tests.

--
17/06/1969 - 18/01/2011

Repose en paix mon amour :'(
Avatar
Stéphane Catteau
Essomba devait dire quelque chose comme ceci :

je pense que tu oublies la compromission au niveau du réseau local :



J'oublie bien plus que cela, mais je n'ai pas prétendu faire une liste
exhaustive. Toi-même tu oublies le voisin avec son télescope braqué sur
l'écran, la lecture des émissions électromagnétique de l'écran, le
branchement sur sa ligne au niveau du répartiteur PTT, et ainsi de
suite.


A mon avis le risque est plus là que en aval.



Le plus gros des risques est de toute façon entre le clavier et la
chaise, oui. Mais dès lors que tu envisages ton propre protocole de
cryptage, il me semble que la moindre des choses est de considérer que
tu as commencé par verrouiller ton WiFi.

--
17/06/1969 - 18/01/2011

Repose en paix mon amour :'(
Avatar
Stéphane Catteau
Kevin Denis n'était pas loin de dire :

Tu peux fournir ces chaines? Et/ou le script?



Voir ma réponse à Nicolas George. Si vraiment tu tiens au script je
peux le fournir. Mais bon la génération des chaînes est le plus
important, le reste c'est juste un mini-client HTTP qui parse du JSON à
la va-vite.


Du coup, en avoir une quinzaine ça m'intéresserait.



Désolé, va falloit que tu ais la même chance que moi ;)

--
17/06/1969 - 18/01/2011

Repose en paix mon amour :'(
Avatar
Nicolas George
Stéphane Catteau , dans le message ,
a écrit :
Tout ce que je peux te dire, c'est que chacune résulte de :

my $last = int(rand(100))+10;
for( my $i = 0 ; $i < $last ; $i++ )
{ $string .= chr(int(rand(106))+21); }



Le 21 me semble bizarre. Tu ne confondrais pas avec 0x21 ?

J'explique plus bas pourquoi c'est tout ce que je peux te dire.



Tu pourrais dire avec quel site tu l'as essayé, voire re-lancer l'essai, y
investir encore un petit peu de ton karma exceptionnel, et noter les
résultats.

C'est d'ailleurs l'utilisation la plus répandue avec le cryptage des
données sensibles il me semble, non ?



Je ne saurais dire : MD5 fait partie des fonctions de hachage autorisées par
de nombreux protocoles standards. De toutes façons, sans définir exactement
comment on mesure les choses, ça ne veut pas dire grand chose.

J'en suis conscient. Avant cette discussion, mon impression tenait
plutôt de, "p'tain mais bordel c'est pas possible d'avoir autant de
collisions", parce que mes essais au fil des ans m'en donnait quelques
unes. Puis je t'ai lu et j'ai lu tes arguments et j'ai décidé de faire
mon script.
Comme je l'ai dit, l'idée derrière se script était de faire un
comptage sur un échantillon plus précis et à vrai dire j'envisageais
deux cas de figure. Soit j'avais raison (ce dont je doutais de plus en
plus), auquel cas j'aurais eu des collisions par centaines, voire par
millier, et il était inutile de conserver la trace des chaînes. Soit
c'est toi qui avait raison (ce qui me semblait plus réaliste) et il
était là aussi inutile de conserver la trace des chaînes, puisqu'il n'y
en aurait aucune.
Au final, la conclusion de ce test, c'est que MD5 a jeté une
malédiction sur moi et s'évertue à réaliser l'impossible lorsque c'est
moi qui fait mumuse avec.



À suivre.

Je m'en doute un peu. D'un autre côté, toi qui connais et comprend
assurément bien mieux que moi l'algorithme de MD5, *peut-être* que cela
vient de la nature et de la taille (relative) des chaînes utilisées
pour les tests.



Hum... On sait faire des collisions aussi longues qu'on veut, tout
simplement parce que si on a deux fichiers avec le même MD5 et qu'on leur
ajoute la même chose à la fin, alors on a toujours deux fichiers avec le
même MD5.

Considération similaire : dans la mesure où la taille du fichier intervient
dans le calcul du MD5 d'une manière particulière, je soupçonne qu'on ne sait
faire que des collisions qui ont la même taille.

Mais à part ça, je n'ai pas l'impression que la taille intervienne de
manière significative pour la probabilité de collision.

Rapporté à MD5, ça donnerait quelque chose comme, "[peut-être que]
avec les chaînes courtes l'algorithme n'a le temps de donner tout ce
qu'il a et temps à produire plus de collision".



Ça, je ne pense vraiment pas. MD5 travaille avec des blocs entiers de
64 octets, donc déjà, un fichier de 1 octet ou un fichier de 16 octets, pour
lui, c'est pareil (et pour éviter les collisions triviales, la taille
elle-même est injectée à la fin). Ensuite, MD5 va simplement mélanger chaque
bloc avec son état actuel pour produire le nouvel état, donc je ne vois pas
vraiment de place pour le phénomène que tu décris.

Franchement, à part la malédiction dont j'ai parlé plus haut, je ne
vois pas d'autres explications pour le résultat de mes tests.



Il pourrait y avoir un bug dans tes scripts, ou bien dans le site web que tu
interroges.
Avatar
Stéphane Catteau
Nicolas George devait dire quelque chose comme ceci :

Tout ce que je peux te dire, c'est que chacune résulte de :

my $last = int(rand(100))+10;
for( my $i = 0 ; $i < $last ; $i++ )
{ $string .= chr(int(rand(106))+21); }



Le 21 me semble bizarre. Tu ne confondrais pas avec 0x21 ?



Oup's si, j'ai pensé décimal et écrit hexa. Cela dit, ça ne change pas
grand chose pour MD5 il me semble.


J'explique plus bas pourquoi c'est tout ce que je peux te dire.



Tu pourrais dire avec quel site tu l'as essayé, voire re-lancer l'essai, y
investir encore un petit peu de ton karma exceptionnel, et noter les
résultats.



C'est prévu, mais la machine est pas dispo avant ce week-end. Il me
reste plus qu'à espérer que je n'ai pas épuisé ma réserve de chance.


[snip]
Considération similaire : dans la mesure où la taille du fichier intervient
dans le calcul du MD5 d'une manière particulière, je soupçonne qu'on ne sait
faire que des collisions qui ont la même taille.



C'est peut-être là, la clé des collisions que j'ai obtenu. Dans la
mesure où se sont des dictionnaires, il y a peu de chance qu'il y ait
des hash correspondant à des chaînes de plus d'une centaine de
caractères, ce qui augmenterait artificiellement les chances. Cela
pourrait expliquer pourquoi j'ai eu un chouilla plus de collisions avec
les chaînes alphanumériques courtes.


Franchement, à part la malédiction dont j'ai parlé plus haut, je ne
vois pas d'autres explications pour le résultat de mes tests.



Il pourrait y avoir un bug dans tes scripts, ou bien dans le site web que tu
interroges.



Je ne vais pas prétendre être un géni en programmation, mais le script
est tellement trivial que je vois mal où pourrait être le problème.
D'autant plus que j'ai deux hash dont je connaissais la chaîne original
et qui apparaissait dans la base, et que je me suis appuyé sur eux pour
les tests initiaux.
Donc je sais que les chaînes identiques sont correctement reconnues et
que les hash non trouvé le sont correctement aussi. Je ne vois pas
vraiment quel cas pourrait venir interférer avec, "hash trouvé mais
chaine différente".

J'ai un brin corrigé le script pour travailler avec la base que j'ai
citée initialement[1], la routine de test est celle-ci :

while( <$socket> )
{ /<string><![CDATA[([^]]+)/ && do{
lock $sames; # j'ai 4 threads pour accélerer un peu
if( $value{$hash} eq $1 )
{ $sames++;
next; }
$collisions++
if $hash eq md5_hex( $1 );
next; };
}

%values utilise le hash généré en début de script comme clé, et la
chaîne l'ayant produit comme valeur. $1 est la chaîne retournée par le
site comme correspondant au hash soumis.


[1]
Même s'il ne reste plus grand monde sur usenet, je n'ai pas trop
l'idée de commencer à lister tous les dictionnaires MD5 accessibles
facilement.

--
17/06/1969 - 18/01/2011

Repose en paix mon amour :'(
Avatar
Gloops
Stéphane Catteau a écrit, le 19/03/2013 17:56 :
Mais ... La clef publique, enfin celle qui sert à décoder, doit ê tre
dans le fichier de configuration ?



Oui et alors ? Ce n'est que la clé qui valide la clé privée, pe ut
importe qu'elle se balade dans la nature ou non, elle ne permet ni de
se faire passer pour toi, ni de décrypter les flux interceptés (sau f si
l'algorithme ne s'appuie que sur la clé pour les crypter, ce qui
n'existe plus il me semble).




Ah tiens c'est vrai que ça fait une semaine, maintenant, que j'avais
prévu de me replonger là-dedans ... Je vais essayer au pied levé en
lisant juste ce que tu as écrit là ...

Alors donc, tu dis qu'on a crypté avec une autre clef.
D'acc, donc on ne pourra pas recrypter. Mais ça, le pirate n'a pas
l'intention de le faire.

Mais si le site est capable de décrypter avec ce qu'il y a dans le
web.config, le pirate devrait y arriver par le même algorithme, non ?

Alors, en partant du même argument, j'ai tendance à arriver à une
proposition du même ordre qu'au début, mais en changeant quelques poi nts
pour tenir compte de ce qui a été dit. OK il faut s'appuyer sur un
algorithme reconnu donc le secret ne résidera pas dans l'algorithme.
Mais j'ai quand même l'impression que ça ne serait pas idiot d'être
discret sur l'endroit où est stockée la clef ? Donc, que penses-tu de
passer par une pirouette pour la récupérer ?

C'est vrai que sur un site web, on est plus ou moins contraint de cacher
la clef dans un pot de fleurs, et il y en a un placé bien en évidence
devant la porte. Mais on peut en trouver un autre qui se voit moins ?
4 5 6 7 8