NewbieContest

Divers => Hacking => Discussion démarrée par: UnKnOwN_DrAgOoN le 10 Août 2005 à 21:25:06



Titre: Javascript Checksum
Posté par: UnKnOwN_DrAgOoN le 10 Août 2005 à 21:25:06
Et hop, salut à tous !

Bon aprés trois nuits blanches sur ces [censuré] de codes javascript, je commence franchement à péter un plomb ^^. Vous connaissez surement ces codes de javascript qui demandent un login et un pass, codés avec le calcul d'une checksum...on a la fonction de calcul suivante :

Citation
function Calculer() {
    var tab=" azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN0123456789_$&#@";
    var login=document.forms[0].elements["login"].value;
    var password=document.forms[0].elements["password"].value;
    var nblog=login.length; // 12
    var nbpass=password.length;
    var sum=1;
    var n=Math.max(nblog,nbpass)
    for (var i=0;i<n;i++) {
        var index1=tab.indexOf(login.substring(i,i+1))+10;
        var index2=tab.indexOf(password.substring(i,i+1))+10;
        sum=sum+(index1*n*(i+1))*(index2*(i+1)*(i+1));
    }
Bon alors, on sait parfaitement qu'il est impossible de trouver login/pass avec la simple checksum que voici :

Citation
function Verifie() {
   Check(65891509)
}
MAIS on sait aussi que dans ce genre de script (je ne vous ai pas dévoilé le reste, flemme ^^), on peut facilement trouver le login, car c'est obligatoirement la page cible, sans son extension...ainsi je me suis débrouillé avec des scanners pour trouver la page cible : concour_etp8.htm

Le login est donc concour_etp8 et la valeur de la checksum est 65891509....seulement voilà, aprés maintes recherches sur google pour des instructions et divers, je ne trouve toujours pas comment coder un brute force ou un reverser qui permettrait d'obtenir le mot de passe, je ne suis pourtant pas mauvais en JS (quoi que c'est pas ce que je préfère) mais là je calle...des idées :) ? Vous me rendriez un grand service ^^ mdr.

Merci ;).


Titre: Javascript Checksum
Posté par: Invit le 11 Août 2005 à 06:20:50
C'est exactement le même propos que le niveau JavaScript 8 de NC ça...
Perso j'ai fait un prog en C en commençant par retranscrire l'algo JS en C, puis en épurant, ça m'a donné une jolie fonction, ensuite dans le main() j'ai juste une boucle qui génère les mots de passe et qui appelle ma fonction pour chacun d'eux
Sachant qu'il peut potentiellement y avoir beaucoups de réponses correspondant au même checksum, à chaque mot de passe trouvé qui correspond je l'affiche et/ou le concatène dans un fichier texte, reste ensuite à trouver le bon mot de passe dans tout ça... Soit "à la main" (aux yeux devrais-je dire, et c'est peut-être plus fiable) soit en automatisant ça encore une fois, par exemple si on sait ou que l'on se doute que le mot de passe est un nom commun ou un nom propre on peut pour chaque mot de passe tester s'il existe dans un dictionnaire de mots/prénoms/etc.
Pour ce qui est de la longueur du mot de passe (et donc du temps machine par conséquent) m'est avis que limiter le nombre de caractères maximum du password à 6, 8, allez... voire 10 grand max. est largement suffisant compte tenu du type de protection


Titre: Javascript Checksum
Posté par: UnKnOwN_DrAgOoN le 11 Août 2005 à 14:36:39
Encore faudrait il coder un brute force =) bon ba je suis parti pour apprendre le C / C++ de toute façon, autant avancer et mettre ça de côté en attendant :p. Euuuu vi en fait tu as raison, c'est quasiement pareil que NC, sauf que NC, on a le pass et pas le login me semble nan ^^ ? Ca revient au même vous me direz :p.


Titre: Javascript Checksum
Posté par: Invit le 11 Août 2005 à 15:08:56
Citation de: UnKnOwN_DrAgOoN
Ca revient au même vous me direz :p.
Rigoureusement ;)

Au passage c'est faisable en PHP aussi par exemple, pis dans pleins d'autres langages, meme interpretés, mais pour des raisons de rapidité un langage compilé comme le C ou le C++ est effectivement plus approprié à mon avis, sinon meme un batch peu le faire dans l'absolu (si si, c'est faisable avec un .bat, c lourdingue mais faisble loll)

Au passage et juste pour précision il s'agit bien entendu de brute-forcer en local, pas directement sur le site visé (on sait jamais, y'en a qui pourraient avoir l'idée un peu poilue de faire ce genre c0nneries... moi par exemple :p), en plus ça prends bcps plus de temps...


Titre: Javascript Checksum
Posté par: Perfect Slayer le 11 Août 2005 à 19:11:05
Perso moi j'ai le code de mon brute forceur en PHP... (bah ouais.. PHP Powa !!) Donc si ca intéresse quelqu'un.. Je peux poster ca.. :wink:


Titre: Javascript Checksum
Posté par: Invit le 23 Septembre 2005 à 13:19:56
Citation de: Perfect Slayer
Perso moi j'ai le code de mon brute forceur en PHP... (bah ouais.. PHP Powa !!) Donc si ca intéresse quelqu'un.. Je peux poster ca.. :wink:
Il a mis combien de temps ton BF en PHP pour te sotir tout les resultats possibles?
Parce que j'en suis en train de bosser sur le mien en Python et c'est plutot long, donc maintenant je cherche une optimisation :cry:


Titre: Javascript Checksum
Posté par: The-Snake le 23 Septembre 2005 à 22:39:37
Ca m'interesse Perfect Slayer ;) ça me donnerait une idée de comment fonctionne les Brutes Force !


Titre: Javascript Checksum
Posté par: Perfect Slayer le 24 Septembre 2005 à 07:22:25
Bah en fait... il est plutot long pour ce que c'est (genre 30 secs par première lettre, cad que pour me sortir tous les pass qui commence par a il met 30 secs de meme apres pour la lettre b).

Ca t'intéresse ?


Titre: Javascript Checksum
Posté par: Invit le 04 Octobre 2005 à 14:42:54
Perfect Slayer --> euh ouais moi sa minterresse ;)
car je suis pas trop un boss en prog! je conais les base en c mais je vois pas coment programmé un brute force :oops:oops (le boulet......)


Titre: Javascript Checksum
Posté par: Nms le 04 Octobre 2005 à 15:06:50
Bah tu sais un brute force ce n'est rien d'autre qu'un prog qui teste toutes les combinaisons possibles jusqu'à trouver la bonne. C'est donc ds le cas du checksum essentiellement un système de boucles imbriquées.
Si tu maitrises plus le php que le c, fais le en php c'est très faisable.
Et si t'es un peu fêlé comme moi, fais le en javascript, c'est que du bonheur! :lol:


Titre: Javascript Checksum
Posté par: Folcan le 04 Octobre 2005 à 15:42:36
ou meme en vbs ^^


Titre: Javascript Checksum
Posté par: shaka le 05 Octobre 2005 à 07:34:52
en javascript!**No slang** t un ouf! un vrai félé come tu dis mais bon en meme temps ta deja la fonction du checksum decrite (celle qui test si c bon )^^


Titre: Javascript Checksum
Posté par: Folcan le 05 Octobre 2005 à 10:07:10
ouai c'est une sorte de reverse amelioré si tu le fais en js je pense


Titre: Javascript Checksum
Posté par: Nms le 05 Octobre 2005 à 14:36:46
oui ca a l'avantage d'économiser l'écriture de la fonction checksum! mais c bien le seul! :lol:
**No Sms** suis dit qu'en php ça serait trop facile du coup je l'ai fait en js pr rigoler : chuis fêlé je confirme! :cool:


Titre: Javascript Checksum
Posté par: shaka le 06 Octobre 2005 à 08:06:49
moi ce ki me fait chier c pour generé les mot de passe! je sais kil fo faire des boucle imbriqué mais je vois pas comment faire :oops:oops