Mots de passe : Javascript

Il existe plusieurs grandes catégories de script password en Javascript et quelques variantes à connaitre pour pouvoir casser (presque) tous les passwords en Javascript.

Catégorie 1
Le script le plus simple. La page est constituée d'un formulaire avec un champ type="password". Lorsqu'on cliques sur le bouton, le script compare la valeur entrée avec une valeur de référence... La méthode est de regarder la source et puis de trouver le password (ou de charger directement la page suivante).

Catégorie 2
Là c'est plus chiant : le script se déclenche au chargement de la page, dans une fenetre "prompt". Il nous empêche donc de voir la source de la page. Qu'à cela ne tienne, on va tout de même passer...
1. On repere le nom de la page protégée (eventuellement en regardant la source)
2. Ensuite, on charge cette page. Evidemment, il y a le prompt qui s'ouvre et nous demande le password. Mais on ne touche à rien.
3. On va dans le répertoire "Temporary Internet Files" (souvent dans "/Windows" mais ça peut changer)
4. On retrouve facilement la page protégée
5. Faisons un Copier/Déplacer vers un autre dossier
6. Ouvrons ce fichier avec le Bloc-Notes... oh oh, on repere le JavaScript et on trouve le password !

Catégorie 3
Une vieille astuce pourrie rend ce script difficile à casser. Un exemple de code :

<SCRIPT LANGUAGE="JavaScript">
<!-- //debut du script
function checkPswd(ext) {
  if ((document.pswdForm.pswd.value == null)
    || (document.pswdForm.pswd.value == ''))
    alert('Mot de passe invalide.');
  else this.location.href = document.pswdForm.pswd.value + ext;
}
// fin du script -->
</SCRIPT>

En fait, il n'y a pas de mot de passe. Le script verifie la valeur du texte et si c'est un nom de fichier existant, il l'ouvre. Avec ce genre de password, taper "piratage.html" revient à ouvrir, si elle existe, la page nommée "piratage.html"... La solution ? Tape directement le nom de la page (souvent sans extension, mais verifie quand même au cas où...) dans le champ "password". Si tu ne connais pas le nom de la page, tu peux essayer d'aspirer le site mais c'est sans garantie (j'expliquerais peut-être pourquoi un jour, mais là ce serait trop long et je suis trop fatigué !).

Variante 1
Le script est dans un fichier à part. Comme ça on ne vois pas le mot de passe directement dans la source et on est sensé du coup abandonner... Tsss bon serieusement, tu n'as qu'à ouvrir le fichier contenant le code et pi c'est tout !

Variant 1bis
De temps en temps, y a des malins qui s'amuse à mettre un password dans la source mais en fait ce password n'est pas le bon... Par exemple, il y a un lien vers un autre fichier, le test et une definition du password. Ben oui mais là on voit tout de suite que la variable est définie après le test et donc que c'est pas celle-là la bonne ! Il suffit de regarder le fichier joint et là on a le vrai password.

Variante 2
Plutôt que de faire apparaitre le mot de passe en clair dans la source, certains préferent le crypter. C'est à dire qu'au lieu de voir des lettres, on verra leur codes ascii ; ou alors il y a des fonctions de traitement de chaine de caractère, enfin ce genre de truc quoi. Bah c'est pas bien méchant une fois qu'on est prévenu !

cgo2
01/01/2001