elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 ... 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 [44] 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 ... 231
431  Programación / Programación C/C++ / Re: Resolver C++ en: 29 Noviembre 2018, 01:05 am
La verdad que es medio raro eso, se la respuesta pero no se como es que el signo ?

Es el Operador Ternario, es basicamente un mini if

Código
  1. char C = 'A';
  2. printf("%s\n",(C == 'A')? "Verdadero": "Falso");
  3.  

Se utiliza para realizar ciertas evaluaciones rapidamente.

De manera que te devuelve el primer valor el que esta antes del ":" si la evaluacion fue verdadera, encaso contrareo te devuelve lo que esta despues del ":"

Otro ejemplo seria:

Código
  1. char C = 'A',otro;
  2. otro = (C == 'A') ? 'q' : 'r' ;
  3.  


Saludos
432  Programación / Programación C/C++ / Re: Problema de memoria en miniservidor usando Winsock en: 29 Noviembre 2018, 00:42 am
Excelente con eso ya funciona muy bien  ;-)

Esos de Microsoft ni siquiera dejan utilizar el Descriptor proporcionado por accept como un File Descriptor normal para usarlo con fdopen y/o read y write. En fin es windows  :rolleyes:

Salduos!
433  Programación / Programación C/C++ / Problema de memoria en miniservidor usando Winsock (Solucionado) en: 28 Noviembre 2018, 23:13 pm
Estoy haciendo pruebas con un miniservidor, que actualmente solo lee la entrada y la muestra en pantalla.



El detalle esta en que La memoria utilizada no deja de incrementar, empieza el programa usando sobre 400 KB y mientras mas preciono F5 en el navegardor WEB, (El miniservidor es WEB), enviando Multiples GET al servidor la memoria del programa incrementa y nunca decrementa, siendo que en cada ocasion he liberado el apuntador utilizado para leer la linea, y he cerrado el socket del cliente:

Codigo:

Código
  1. #include<winsock2.h>
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. #include <unistd.h>
  5.  
  6. #define BACKLOG 256
  7.  
  8. WSADATA *wsaData;
  9. struct sockaddr_in *server_sa;
  10.  
  11. char *readLine(SOCKET descriptor,int *len);
  12.  
  13. int main() {
  14. SOCKET s,c;
  15. int b = 0,iResult;
  16. int read_len;
  17. char *linea;
  18. char caracter;
  19. wsaData = calloc(1,sizeof(WSADATA));
  20. iResult = WSAStartup(MAKEWORD(2,2), wsaData);
  21. if (iResult != 0) {
  22. printf("WSAStartup failed: %d\n", iResult);
  23. return 1;
  24. }
  25. if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
  26. perror("socket");
  27. return 2;
  28. }
  29. server_sa = calloc(1,sizeof(struct sockaddr_in));
  30. server_sa->sin_family = AF_INET;
  31. server_sa->sin_port   = htons(80);
  32. server_sa->sin_addr.s_addr = htonl(INADDR_ANY);
  33.  
  34. if (bind(s,(struct sockaddr *) server_sa, sizeof(struct sockaddr)) < 0) {
  35. perror("bind");
  36. return 3;
  37. }
  38. b = sizeof(struct sockaddr);
  39. listen(s, BACKLOG);
  40. while(1) {
  41. if((c = accept(s,(struct sockaddr *)server_sa, &b)) < 0) {
  42. printf("WS error code: %i\n",WSAGetLastError());
  43. perror("accept");
  44. return 4;
  45. }
  46. do{
  47. linea = readLine(c,&read_len);
  48. printf("%s\n",linea);
  49. free(linea);
  50. }while(read_len != 0);
  51. close(c);
  52. }
  53. }
  54.  
  55. char *readLine(SOCKET descriptor,int *len) {
  56. char *buffer = NULL;
  57. int i = 0,entrar = 1,len_read;
  58. do {
  59. buffer = realloc(buffer,(i+1));
  60. len_read = recv(descriptor,buffer + i,1,0);
  61. if(len_read == 1){
  62. switch(buffer[i]) {
  63. case 0xD:
  64. buffer[i] = '\0';
  65. break;
  66. case 0xA:
  67. buffer[i] = '\0';
  68. entrar = 0;
  69. break;
  70. default:
  71. i++;
  72. break;
  73. }
  74. }
  75. else {
  76. buffer[i] = '\0';
  77. entrar = 0;
  78. }
  79. }while(entrar);
  80. if(len  != NULL){
  81. len[0] = i;
  82. }
  83. return buffer;
  84. }
  85.  

El problema es que se espera que el servidor se lo mas liguero ligero posible y atienda millones de peticiones por segundo. Y no creo que el F5 del navegador supere mas de 100 peticiones por segundo.

Saludos
434  Seguridad Informática / Seguridad / Re: Extorsión por correo electrónico con hackeo. en: 28 Noviembre 2018, 17:55 pm
Hola, no se puede saber quien es por la cartera, a no ser que la publique con su nombre en algun lugar de internet, ese mensaje se paerece a uno que publique hace unos dias.

https://foro.elhacker.net/seguridad/investigando_un_intento_de_extorcion-t489642.0.html

Realmente es lo mismo solo que traducido al español.

Como recomendacion cambia las contraseñas de tus cuentas, y activa siempre que se pueda la verificacion en 2 pasos ( 2FA )

Si es falso, si es verdad que hackearon X sitio y sacaron tu password, pero solo el de ese sitio, Se tiene que usar un password diferente y de preferencia al aza para cada sitio distinto.

Saludos!
435  Programación / Programación C/C++ / Re: socket siempre me devuelve -1 en: 28 Noviembre 2018, 17:49 pm
Que tal Ethernal Idol gusto en verte por aqui :)  ;-) ;-) ;-)

Funciono, todo un maestro como siempre.

Saludos!
436  Programación / Programación C/C++ / Re: Implementación de arreglo de 2-D como función en: 28 Noviembre 2018, 06:03 am
una matriz es básicamente un arreglo lineal asi que pe podría mandar algo asi:

En main si es una matriz bidimencional, pero como solo se pasa la referencia de la matriz y indicas los tamaños, solo es necesario pasar el apuntador a mostrar y mostrar lo maneja como un arreglo lineal, tratado como matriz.

Código
  1. #include<stdio.h>
  2.  
  3. void muestra(int *matriz, int renglon, int columna);
  4.  
  5. int main() {
  6. int M, N, i, j;
  7. scanf("%d %d", &M, &N);
  8. int b_minas[M][N];
  9. for (i= 0; i < M; i++) {
  10. for (j= 0; j < N; j++) {
  11. scanf("%d",&b_minas[i][j]);
  12. }
  13. }
  14. muestra((int *) b_minas, M, N);
  15. return 0;
  16. }
  17.  
  18. void muestra(int *matriz, int renglon, int columna) {
  19. printf("\n");
  20. int i, j;
  21. for (i= 0; i < renglon; i++) {
  22. for (j= 0; j < columna; j++) {
  23. printf("%d ", matriz[(i*columna) +j]);
  24. }
  25. printf("\n");
  26. }
  27. }
  28.  

Salida:

Código:
C:\codigos>matriz.exe
5 4
1
1
1
1
2
2
2
2
3
3
3
3
4
4
4
4
5
5
5
5

1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4
5 5 5 5


Saludos!
437  Programación / Desarrollo Web / Re: pagina para compra y ventas de usuarios en: 28 Noviembre 2018, 03:41 am
Si haces esa pregunta, entonces sinceramente te recomiendo que no desarrolles nada. No es por hacer de menos tu esfuerzo y/o trabajo, pero si tu eres el único programador tu deberia de indicar a quien te contrato que hosting contratar, si lo estas haciendo para ti podrías iniciar con algun hosting básico y de ahi ir creciendo conforme se necesite, para esto necesitas hacerlo escalable.

De recomendarte X base de datos, tambien te preguntaría con cuantas sabes trabajar, lo que tambien implica cual va a ser el lenguaje del back end. Por lo general PHP o algun otro?

Si es PHP, pues podrías empezar con MySQL, quieres experimentar con otras bases de datos adelante, hoy en dia no es dificil migrar entre los módulos de php para Distintas bases de datos.

Si planeas utilizar Algun Framework en particular tambien tendrias que ver si ese Framework trabaja con alguna Base de datos en particular.

Sobre el Hosting:

En general depende del volumen de trafico que vallas a tener.

Por ejemplo si lo usuarios van a poder subir imágenes de sus productos, debes de calcular cuanto espacio va a necesitar, eso si las almacenas en disco, también esta la opcion de almacenar en la base de datos. Opciones hay muchas.

También hay hosting que te limitan el numero de procesos activos en X momento, y si en X momento el nivel de visitas de tus usuarios superan ese limite de procesos en ejecución, entonces tu pagina va a tener problemas.

Yo personalmente he realizado paginas similares y la verdad es que no requieren muchos recursos siempre y cuando programes eficientemente las llamadas al servidor.

Saludos.
438  Programación / PHP / Re: es posible desencriptear esto? en: 28 Noviembre 2018, 03:06 am
Lo primero que debes hacer es Poner tu WEB offline para que no te puedan atacar.

Encontrar el script en PHP vulnerable o la vulnerabilidad de tu servidor, parchearla y Listo

Si no lo puedes poner offline entonces saltate a la segunda parte que es encontrar el y/o los bugs y corregirlos para que no te esten injectando codigo.

Posiblemente tambien sea algun Upload de archivos que no haga las verificaciones correspondientes.

Saludos
439  Foros Generales / Dudas Generales / Re: duda bits y caracteres en: 27 Noviembre 2018, 23:00 pm
Generalmente se refiere a la longitud de la Clave de cifrado, o del tamaño minimo de bits de entrada llamod Block Size, para comenzar a realizar las operaciones matemáticas para el cifrado. Por ejemplo el de AES, hay muchas variantes, pero todas ellas realizan operaciones a nivel de bloques de bits segun las imagenes que se muestran en wikipedia:

https://en.wikipedia.org/wiki/Advanced_Encryption_Standard

lo cual puede ser muy ilustrativo.
440  Foros Generales / Noticias / Re: ¿Harto de que te vean en Instagram? Así puedes navegar en modo incógnito en: 27 Noviembre 2018, 13:06 pm
¿Que es Instagram?
Páginas: 1 ... 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 [44] 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 ... 231
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines