logo Homepage
+  NewbieContest
|-+  Divers» Hacking» Javascript Checksum
Username:
Password:
Pages: [1]
  Imprimer  
Auteur Fil de discussion: Javascript Checksum  (Lu 15163 fois)
UnKnOwN_DrAgOoN
Profil challenge

Classement : 46/54254

Membre Junior
**
Hors ligne Hors ligne
Messages: 86


Voir le profil
« 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 .
Journalisée
Invit
Invité
« #1 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
Journalisée
UnKnOwN_DrAgOoN
Profil challenge

Classement : 46/54254

Membre Junior
**
Hors ligne Hors ligne
Messages: 86


Voir le profil
« #2 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.
Journalisée
Invit
Invité
« #3 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...
Journalisée
Perfect Slayer

Profil challenge

Classement : 3033/54254

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #4 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..
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
Invit
Invité
« #5 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..
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
Journalisée
The-Snake

Profil challenge

Classement : 9206/54254

Membre Junior
**
Hors ligne Hors ligne
Messages: 78


Voir le profil
« #6 le: 23 Septembre 2005 à 22:39:37 »

Ca m'interesse Perfect Slayer ça me donnerait une idée de comment fonctionne les Brutes Force !
Journalisée
Perfect Slayer

Profil challenge

Classement : 3033/54254

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1974


Voir le profil WWW
« #7 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 ?
Journalisée

Newbie Contest Staff :
(¯`·._.· [ Perfect Slayer ] ·._.·´¯)
Status :
Administrateur / Programmeur PHP / Optimisateur
Citation :
Sécurité, efficacité et rapidité riment avec Perfect(ion)
Invit
Invité
« #8 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......)
Journalisée
Nms

Profil challenge

Classement : 74/54254

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 794


Voir le profil
« #9 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!
Journalisée

Ex Newbie Contest Staff :
Nms
Status :
Concepteur d'épreuves
Citation :
Je ne sais qu'une chose : que je ne sais rien. (Socrate)
Folcan

Profil challenge

Classement : 505/54254

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1520


Voir le profil
« #10 le: 04 Octobre 2005 à 15:42:36 »

ou meme en vbs ^^
Journalisée

-=[FoLc@N]=-

Citation :
* Le futur appartient à ceux qui croient à la beauté de leurs rêves, je crois au miens, NewbieContest aura un bon futur.
* Il y'a seulement 10 categories de gens dans la vie : ceux qui comprennent le binaire, et les autres.
shaka
Profil challenge

Classement : 701/54254

Membre Junior
**
Hors ligne Hors ligne
Messages: 58


Voir le profil
« #11 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 )^^
Journalisée
Folcan

Profil challenge

Classement : 505/54254

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1520


Voir le profil
« #12 le: 05 Octobre 2005 à 10:07:10 »

ouai c'est une sorte de reverse amelioré si tu le fais en js je pense
Journalisée

-=[FoLc@N]=-

Citation :
* Le futur appartient à ceux qui croient à la beauté de leurs rêves, je crois au miens, NewbieContest aura un bon futur.
* Il y'a seulement 10 categories de gens dans la vie : ceux qui comprennent le binaire, et les autres.
Nms

Profil challenge

Classement : 74/54254

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 794


Voir le profil
« #13 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!
**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!
Journalisée

Ex Newbie Contest Staff :
Nms
Status :
Concepteur d'épreuves
Citation :
Je ne sais qu'une chose : que je ne sais rien. (Socrate)
shaka
Profil challenge

Classement : 701/54254

Membre Junior
**
Hors ligne Hors ligne
Messages: 58


Voir le profil
« #14 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
Journalisée
Pages: [1]
  Imprimer  
 
Aller à: