Vous n'êtes pas connecté.



c encore moi voici encore un script qui me pose probleme.
<script type="text/javascript" language="JavaScript">
var total_erreur=0;
function Check() {
var tabc=Check.arguments; var ok=0;
var tab=" azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN0123456789_$&#@";
for (var no=0;no<tabc.length;no++) {
checksum=tabc[no];
var login=document.forms["flog"].elements["login"].value;
var password="souris";
var nblog=login.length;
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));
}
if (sum==checksum) {
window.location="/epreuves/javascript/"+login+".php"; ok=1; no=100;
}
}
if (ok==0) {
total_erreur++;
alert("Mauvais login ou mot de passe");
if (total_erreur>2) {
alert("Vous avez atteint les 3 essais !\nAu revoir");
window.location="index.php";
}
}
}
function Verifie() {
Check(3696619)
Voici mon observation:
var tab=" azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN0123456789_$&#@"; ce sont les characteres autorisés
apparament ce code fonctionne avec un checksum
sinon je suis complétement perdu on pourait le brut forcer?
TOP Hors ligne









Salut
Dit moi, j'espère que tu ne comptes pas utiliser ça pour sécuriser quoi que ce soit... c'est un peu juste.
Que veux tu savoir en fait ? Il semble bien que c'est un petit "checksum" mais pas bien compliqué.
Tu connais le mot de passe et le bon checksum mais pas le login or le login permet d'accéder à la page c'est bien ça ?
C'est pour un hacking contest ?
Je pense que si tu prends un papier et un crayon, que tu décortiques bien ce que fait le script, tu comprendra vite comment il faut chercher le bon login sans trop se prendre la tête avec un bruteforce qui va surement mettre très longtemps avant de trouver quoi que ce soit étant donné la multitude de caractères possible ici.
Hum ?
++
TOP Hors ligne



ce script n'est pas sur?
bon si je prend un brut force et que je trouve ce checksum aparament il fait 6 characteres.
oui c pour un concour.
eu tu dit tu conai le pass mais pas le login c'est quoi le pass?
eu sur le forum l'admin que la seul soluce est de se codé un brut force vraie ou pas?
Dernière modification par jerem (09/06/06 23:10:12)
TOP Hors ligne


Effectivement ici on a affaire à un checksum : autrement dit comme l'a dit TibaL aucun autre moyen que la brute force.
Si effectivement il s'agit d'un challenge, il y a peu de chances qu'il attendent que tu utilises cet outils relativement maiprisé des organistaeurs de ce type de concours (une brute force ça sert à rien, tout le monde sait faire).
Soit donc :
- il y a un autre indice con sur la page
- ils attendent que tu ais juste vu "/epreuves/javascript/**login**.php". Autrement dit, il faudrait alors directement pointer sur la page /epreuves/javascript/epreuve4.php, en devinant le nom (probablement évident si ils attendent ça) de l'étape suivante.
J'ai déjà rencontré ces cas dans des challenges, après je connais pas ce challenge et peut-être que les organisateurs attendent simplement une brute force.
La seconde arme est donc la recherche et le renseignement et je te cite un topic de ce forum parlant du challenge Newbie contest java (j'imagine que c'est celui-ci) :
sur leur forum, ils ont dit qu'il falait coder un bruteforce.
PS: La prochaine fois donne un sujet clair et propre à ton topic, c'est pas une poubelle le forum.
TOP Hors ligne









Ah ba merde... à première vu j'avais l'impression que le bruteforce n'était pas obligatoire, mais en fait si 
TOP Hors ligne


TibaL a écrit:
Ah ba merde... à première vu j'avais l'impression que le bruteforce n'était pas obligatoire, mais en fait si
Il aurait fallu trouver ce chiffre : 3696619, avec l'opération récurente en i incrémental :
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));lorsqu'on a de la multiplication ou de la division, c'est impossible de revenir en arrière et donc de trouver le mot clé qui correspond à login (puisque password on l'a déjà).
TOP Hors ligne



le but de se chalenge c'est de se coder un brut force c l'admin qui a dit.
sauf que moi je c pas programmé et j'ai un brut force qui tourne de puis hier soire et qui toujours rien trouver.
on a eu un indice il fait 6 characteres.
merci de m'aider je vais continuer a chercher
TOP Hors ligne



faut le coder en vb? ou un script en perl.
regarder ce que j'ai touver:
F _ Casser cette protection:
Voilà la partie qui vous intéressera sûrement le plus 
Il existe de nombreuses façon de résoudre le problème de la checksum. Vous pouvez créer un programme en C ou C++ . Il suffit simplement de tester toutes les combinaisons possibles . Le calcul de la checksum sera à chaque fois comparé au nombre recherché.
Si vous ne savez pas programmé dans ce langage, ne vous inquiétez pas d'autres ont pensé à vous. C'était du temps de NewsHackers : il y avait un challenge où le but était d'accéder à une page protégée par un script utilisant la checksum.
Un dénommé Akhenathon avait réalisé un ptit programme permettant le calcul. Vous pouvez downloader son programme à cette adresse :
http://www.vbfrance.com/article.aspx?ID=5201 (inscription obligatoire)
Un script en Perl permettant le calcul :
my $liste='azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN0123456789_$&#@';
my $passwd;
my $valid;
while(1)
{
print $passwd;
$valid=check($passwd);
if($valid)
{
if($valid==1)
{
print " <- ok";
ecritfichier("result.txt",$passwd." <- ok");
} else {
print " *";
ecritfichier("result.txt",$passwd." *");
}
print "\n";
} else {
print "\r";
}
$passwd=&incpass($passwd);
}
sub check
{
my $tab=' azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN0123456789_$&#@';
# table des caracters autorises
my $mot=shift;
my $n=length($mot);
my $sum=1;
for $i(0..$n-1) {
$index=index($tab,substr($mot,$i,1));
$sum=$sum+($index*$n*$i)*($index*$i*$i);
}
# calcul de la checksum.
if ($sum==2669955)
{
#changer l'extension de la page en fonction de vos besoins
if(get('http://www.site.com/'.$mot.'.html'))
{
1;
} else {
-1;
}
} else {
0;
}
}
sub ecritfichier
{
my $nom=shift;
my $text=shift;
open FILE,">>".$nom;
print FILE $text."\n";
close FILE;
}
sub incpass {
my $pass=shift;
my $pos=shift || 0;
if($pos >= length($pass)) {
return $pass.substr($liste,0,1);
}
my $let=index($liste,substr($pass,$pos,1));
if($let>=(length($liste)-1)) {
substr($pass,$pos,1)=substr($liste,0,1);
return &incpass($pass,$pos+1);
} else {
substr($pass,$pos,1)=substr($liste,$let+1,1);
return $pass;
}
}
À noter : la checksum n'est pas une application bijective. C'est à dire qu'à une image correspond plusieurs antécédents . Autrement dit, si vous trouver une solution correspondant au nombre recherché, ce n'est pas forcément le bon mot !
TOP Hors ligne









jerem a écrit:
faut le coder en vb? ou un script en perl.
En ce que tu veux
mais le plus performant sera en C ou tout autre langage compilé.
Tu peux même le faire en JS 
Ce script perl a l'air bien, tu sais t'en servir ?
Il faut installer un interpréteur, sous unix tu dois déjà l'avoir, sous Windows tu pourra trouver ActivePerl.
Ensuite en console, tu vas dans le dossier qui contient le script et tu fait : perl monscript.pl
Je crois qu'avec ActivePerl il faut redemarrer ou simplement se relogguer pour que la commande soit ajoutée aux Path.
Enfin il faut l'adapter un peu le script...
jerem a écrit:
À noter : la checksum n'est pas une application bijective. C'est à dire qu'à une image correspond plusieurs antécédents . Autrement dit, si vous trouver une solution correspondant au nombre recherché, ce n'est pas forcément le bon mot !
Et oui, c'est là la difficulté, tu vas trouver plusieurs solutions et il faudra toutes les essayer. (Ce script perl le fait pour toi !)
TOP Hors ligne



ce qu'il y a c'est que je c pas du tout me servir de ce script qui m'expliquer un peu mieu svp.
je ne c pas programmé du tout mais sa doit etre possible en js car c une epreuve de javascript.
TOP Hors ligne









Bon, je t'aide à faire marcher ce script perl si tu peux me donner l'adresse de la page ou se trouve le script javascript que tu as collé dans ton premier message.
TOP Hors ligne



tien voila la page mais il faut que tu t'inscrive pour pouvoire visioner cette page sinon je peux t'aspirer la page.
http://newbiecontest.n0ne.org/index.php … t&no=8
TOP Hors ligne



alors tibal?tu peux m'aider?
merci
TOP Hors ligne









jerem a écrit:
alors tibal?tu peux m'aider?
merci
Désolé, je passes mon BAC... je passes juste un petit coup sur le forum, j'ai pas trop le temps 
Mes épreuves finissent Venderdi, d'ici là je ne pense pas rallumer mon PC, désolé.
à Vendredi soir 
TOP Hors ligne



ok pas de problem sa urge pas aujourdui la filo
TOP Hors ligne



et maintenant?c fini la semaine du bac tu peux m'aider stp.
a+
TOP Hors ligne









jerem a écrit:
et maintenant?c fini la semaine du bac tu peux m'aider stp.
a+
Salut !
Dès que je rentre chez moi je te file un coup de main !
Ce soir peu être, enfin disons dans la nuit 
TOP Hors ligne



et maintenant lool
enfait je voudrais juste savoire ce qu'est un script en perl comment l'utiliser ect..
TOP Hors ligne