brute-force werkt niet ik kan niet zien wat ik fout doe.

Status
Niet open voor verdere reacties.

sharq

Gebruiker
Lid geworden
26 nov 2011
Berichten
36
ik ben laatst begonnen met perl en ik kom nu al op een fout,
dit programma zou moeten raden wat ik intyp maar hij zegt altijd dat ik "weet" heb ingetypt maar dat doe ik helemaal niet. weten jullie misschien wat fout is?​


Code:
@brute = ("weet", "niet", "wat", "fout", "is");
$times = 0;
print "name\n";
$name = <>;

start:

if ($name == "$brute[$times]") {
	print "je typte $brute[$times]";
} else {
	my $times +1;
	goto start;
}

alvast bedankt.
 
Gebruik je dit voor legale doeleinden? :confused:
Bruteforce kan eigenlijk niet voor veel goeds gebruikt worden.
 
nee ik gebruik het niet voor foute doeleinden, ga alleen proberen of ie met een woorden bestand mn eigen wachtwoord kan kraken dan kan ik mn eigen website beveiligen.
 
Nooit een goed idee om je eigen beveiliging te testen. Laat dat een ander doen.

Trouwens in deze opzet gaat je programma alleen een woordenlijst testen. Dat is zowat de slechtste manier om je beveiliging te testen. Tenminste ik neem aan dat je een beetje zinnig wachtwoord kiest als beveiliging. Dat staat niet in de lijst, want die heb je namelijk zelf gemaakt. Dus de logica om dat nog eens geautomatiseerd te testen ontgaat me.
 
aa joh ik zie wel maar weet iemand wat ik fout doe want ik kan anders ook niet verder met andere progjes.
 
Laatst bewerkt:
maar hij zegt altijd dat ik "weet" heb ingetypt maar dat doe ik helemaal niet. weten jullie misschien wat fout is?

Ik gok, aangezien ik nog geen ervaring met Perl heb, dat er geen quotes rond '$brute[$times]' moeten. Zo dus:

[cpp]
if ($name == $brute[$times])
[/cpp]

Ook heb je helemaal geen goto nodig. Je kan gewoon een for-loop schrijven die alle elementen afgaat. Iets als:

[cpp]
for ($index = 0; $index < N; $index++)
{
if ($name == $brute[$index])
{
// wachtwoord gevonden!
}
}
[/cpp]
 
Laatst bewerkt:
jee bedankt he, ik wist niet dat een for loop steeds opnieuw begint (maar ben ook net begonnen met perl. ik zal het proberen.
 
ik heb het geprobeert maar het lukte niet echt dus kan je me iets meer helpen? :eek:
 
In mijn voorbeeld had je $N (was het dollarteken vergeten) uiteraard wel eerst aanmaken een een waarde geven. Een voorbeeld dat zou moeten werken (niet getest) is het volgende:

[cpp]
@brute = ("weet", "niet", "wat", "fout", "is");
$name = "is";

foreach (@brute)
{
if ($name == $_)
{
// wachtwoord gevonden
}
}
[/cpp]
 
Beste ckamps,

Het is al weer een aardig poosje geleden dat hier op gereageerd is.
De kans is erg aanwezig dat dit probleem allang is opgelost.

Gelieve in het vervolg op de datum van de laatste reactie letten.

Met vriendelijke groet,
Stefan (Tha Devil)
Moderator Helpmij.nl
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan