mot de passe ws_ftp

Le
Laurent
Bonjour à tous..

Je cherche l'algorithme de cryptage (chiffrage ? codage ?) des mots de
passe stockés dans les fichiers ini de l'application ws_ftp pro version 6.
On trouve tout ce qu'on veut pour les décoder, mais je cherche à créer
ces fichiers ini.. et comme je ne suis pas très bon, j'ai du mal à
inverser l'algorithme de décodage.. :)

merci de votre aide :)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Laurent
Le #3856401
On trouve tout ce qu'on veut pour les décoder, mais je cherche à créer
ces fichiers ini.. et comme je ne suis pas très bon, j'ai du mal à
inverser l'algorithme de décodage.. :)


Euh... personne veut m'aider ?

Voilà juste (en javascript) ce qui permet de décoder..
PWD=VD019AA5F11517DB595A14834A7D5A56E69A994A97572A0 est la ligne
présente dans les fichiers ini de ws_ftp pro. (en l'occurence, il s'agit
du mot de passe "example"


--- début ---
var str='PWD=VD019AA5F11517DB595A14834A7D5A56E69A994A97572A0';
var passw=str.substring(37,str.length);

for (var i = 0; i<passw.length/2; i++) {
var caracter=passw.substring(i*2,i*2+2);
var sal=str.substring(5+i,6+i);
var claro=parseInt("0x"+caracter) -i -1
-((47+parseInt("0x"+sal))%57);
print(String.fromCharCode(claro));
}
--- fin ---


Ce que je voudrais pouvoir faire, donc, c'est génerer les lignes PWD=...
à partir des mots de passe en clair..

merci de votre aide éventuelle..

offworld
Le #4163541
Hello,

PWD=VD019AA5F11517DB595A14834A7D5A56E69A994A97572A0

PWD est la concaténation d'un sel et du password

Les 33 premiers caractères étant le sel

sel : VD019AA5F11517DB595A14834A7D5A56E
password : 69A994A97572A0

Pour dechiffrer tout ca, une fois le sel et le password séparé, on
récupère 1 caractère au sel en commençant par le deuxième et deux
caractères du password, et ainsi dessuite, la position des caractères à
son importance.

Donc pour la première lettre

sel1 : D
pass1 : 69

Ces deux lettres sont en hexadécimal, donc on commence a les convertire
en décimal.

sel1deci : 13
pass1deci : 105

Et ensuite la petite opération de la fin

pass1deci - Position de pass1deci -1 - ((47+sel1deci)%57)

105 - 0 - 1 - ((47+13)%57)1

Donc le caractère ascii de 101 est e

Pour la deuxième lettre (au moins je suis sur d'être clair)

sel2 : 0
pass2 : A9

sel2deci : 0
pass2deci : 169

169 - 1 - 1 - ((47+0)%57)0
Donc 120 en ascii représente le x.

Voila en espérant que tu me comprennes :)










--
http://nyx-network.com
Laurent
Le #4173331
Voila en espérant que tu me comprennes :)


merci beaucoup de ta réponse.. et ton explication est très claire.
Et ça me confirme bien ce que ça fait et comment le "décodage" opère :)

La où j'ai un soucis, c'est que j'ai beaucoup plus de mal à
imaginer/comprendre comment faire pour faire *l'inverse* et donc "coder"
les mots de passe wsftp..

merci encore :)

offworld
Le #4197081
Voila en espérant que tu me comprennes :)


merci beaucoup de ta réponse.. et ton explication est très claire.
Et ça me confirme bien ce que ça fait et comment le "décodage" opère :)

La où j'ai un soucis, c'est que j'ai beaucoup plus de mal à
imaginer/comprendre comment faire pour faire *l'inverse* et donc "coder"
les mots de passe wsftp..

merci encore :)


En ayant juste l'algo de décodage sous les yeux, je ne connais pas la
réaction avec des mots de passes supérieur a 32 caractères, peut être il
revient au début du hash, peut être il utilises le début du password
chiffré, bref aucune idée.

Ensuite les caractères qui ne font pas parti de la table ascii standard
(128-255), je sais pas trop non plus.

Sinon pour l'explication je reprend l'exemple 1 et 2 du messages précédent.

105 - 0 - 1 - ((47+13)%57)1
devient
101 + 0 + 1 + ((47+13)%57)5

et

169 - 1 - 1 - ((47+0)%57)0
devient
120 + 1 + 1 + ((47+0)%57)9

Et pour le fun, le code en php :

<?

$passwd="g_ni-e";
$passwdEnc="PWD=V";

for($i=0; $i < 32; $i++)
{
$val="0123456789ABCDEF";
$salt.=$val[rand()%strlen($val)];
}

$passwdEnc.=$salt;

for($i=0; $i < strlen($passwd); $i++)
{
$charEnc=ord($passwd[$i]) + $i + 1 + ((47+hexdec($salt[$i]))%57);
$passwdEnc.=strtoupper(dechex($charEnc));
}

echo "$passwdEncn";

?>


--
http://nyx-network.com


Laurent
Le #4678731
169 - 1 - 1 - ((47+0)%57)0
devient
120 + 1 + 1 + ((47+0)%57)9


oh purée :(
c'est tout ?

je me sens vaguement idiot, là ..

En tout cas, merci beaucoup, j'ai ( *tu as!* ) résolu mon problème.
merci encore :)

Publicité
Poster une réponse
Anonyme