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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Temas
Páginas: 1 2 3 4 5 6 [7] 8 9 10 11 12 13 14 15 16 17 18
61  Foros Generales / Foro Libre / Bosque Cementerio? en: 1 Noviembre 2016, 02:29 am
Vi esta imagen y me agrado la idea que opinan ustedes?

62  Foros Generales / Noticias / Godaddy Expone Información sensible al usar el mail() de PHP en: 30 Septiembre 2016, 22:10 pm
Si tienes hosting en GODADDY y envias correos mediante el MAIL del PHP te aconsejo que dejes de hacerlo:

Cuando tu envías un correo electrónico usando la función de mail de PHP el hosting agrega información de rastreo para los correos con el objetivo de poder rastrear cualquier abuso del mismo y eso esta BIEN, lo que NO esta bien es que agreguen la información en TEXTO PLANO. esto es envían información sensible como:

  • username del CPANEL
  • UID/GID del Proceso baja el cual se ejecuta el PHP (Un hosting linux claro)
  • Hosting principal asociado al Hosting
  • Host de segundario (Si es que existe)...
  • Ruta desde donde se ejecuta el script PHP
  • nombre del Script php que envia el correo

Ejemplo de los headers mencionados:

Código:
X-PHP-Script: (HOST_SECUNDARIO)/index.php for 189.181.XXX.XXX
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Originator/Caller UID/GID - [123456 666] / [47 12]
X-AntiAbuse: Sender Address Domain - p3plcpnl0940.prod.phx3.secureserver.net
X-Get-Message-Sender-Via: p3plcpnl0940.prod.phx3.secureserver.net: authenticated_id: username_CPANEL/from_h
X-Source-Args: /usr/sbin/proxyexec -q -d -s /var/lib/proxyexec/cagefs.sock/socket /bin/cagefs.server
X-Source-Dir: (HOST_PRIMARIO):/FULL/PATH/OF/SCRIPT

Fuente:
https://albertobsd.blogspot.mx/2016/09/godaddy-expone-informacion-sensible-al.html
63  Programación / .NET (C#, VB.NET, ASP) / Mejor Opcion para Crear PDF desde C# en: 27 Septiembre 2016, 17:24 pm
Buen dia, pues esa es la cuestion, estoy viendo como crear PDF desde C# para generar mis reportes y mostrarlos via WEB.

El detalle es que busco algo con buena documentación, he visto buenos comentarios de iTextSharp en su version 5.9, pero carece de mucha documentación

¿Que opciones usan ustedes, cuales recomiendan?

Saludos!
64  Programación / Programación C/C++ / Librerias de Cifrado Simetrico y Asimetrico en C/C++ en: 22 Septiembre 2016, 16:52 pm
En construcción
Libcrypto
Documentación: No esta muy ordenada
https://wiki.openssl.org/index.php/Libcrypto_API


Libgcrypt
Documentación: Excelente
Algoritmos: La mayoria de los Simetricos y siguen desarrollando los Asimetricos

Citar
Libgcrypt is a general purpose cryptographic library based on the code from GnuPG. It provides functions for all cryptograhic building blocks: symmetric ciphers (AES, DES, Blowfish, CAST5, Twofish, SEED, Camellia, Arcfour), hash algorithms (MD4, MD5, RIPE-MD160, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, TIGER-192, Whirlpool), MACs (HMAC for all hash algorithms), public key algorithms (RSA, Elgamal, DSA, ECDSA), large integer functions, random numbers and a lot of supporting functions.

Libgcrypt works on most POSIX systems and many pre-POSIX systems. It can also be built using a cross-compiler system for Microsoft Windows.
https://www.gnu.org/software/libgcrypt/
https://gnupg.org/download/index.html#libgcrypt




Abro el tema por que me he encontrado con el problema de usar una librería de cifrado en Windows, el problema que el proyecto que estoy haciendo en C en FreeBSD lo hice con libgcrypt pero esta NO se puede portar tan fácilmente a windows :P :P Y cada que alguien preguntaba por alguna librería asi yo siempre recomendaba libgcrypt (Mas que nada la recomendaba por completa suite de algoritmos y excelente documentación).

Realmente no conozco muchas librerias de este tipo ya que siempre trabaje con libgcrypt y me parecia muy completa,
¿podrian comentar algunas mas que usen o conozcan y que tambien funcionen con windows y no tengan tantas dependencias?

Saludos!
65  Programación / Programación C/C++ / CreateThread para Servevidor en C en: 21 Septiembre 2016, 21:10 pm
Que tal Pongo aqui la solucion que encontre al problema de no tener fork en Windows, la solucion es CreateThread de la winapi



Código
  1.    if(listen(ListenSocket, BACKLOG) == SOCKET_ERROR) {
  2. printf("listen failed with error: %ld\n", WSAGetLastError());
  3. closesocket(ListenSocket);
  4. WSACleanup();
  5.        return 1;
  6.    }
  7. while(entrar) {//Entrar es true solo se cambia por otro segmento del codigo en caso de que queramos finalizar con el hilo principal
  8. b = sizeof(struct sockaddr_in);
  9. client = accept(ListenSocket,(SOCKADDR *) service,&b);
  10. if(client == INVALID_SOCKET) {
  11. exit(1);
  12. }
  13. toThread = malloc(sizeof(SOCKET));
  14. memcpy(toThread,&client,sizeof(SOCKET));// Copiamos la variable socket principal para pasarla al thread
  15. hThread = CreateThread(
  16.            NULL,                   // default security attributes
  17.            0,                      // use default stack size  
  18.            client_funtion,       // thread function name
  19.            toThread,          // argument to thread function
  20.            0,                      // use default creation flags
  21.            &dwThreadId);   // returns the thread identifier
  22. printf("Thread ID %u\n",dwThreadId);
  23. if(hThread == NULL) {
  24.           free(toThread);
  25.   exit(0)
  26.        }
  27. }
  28.    closesocket(ListenSocket);

hay que tener en cuenta que necesitasmos una funcion para el Thread:

Código
  1. DWORD WINAPI client_funtion( LPVOID lpParam ) {
  2. //Variables
  3. // aqui recivir datos y procesarlos, se puede llamar a otras funciones que sean Thread safe
  4. }
  5.  

Si no queremos que el hilo principal se "preocupe" por cerrar estas conexiones y terminar con el hilo podemos poner lo siguiente:

Código
  1. DWORD WINAPI client_funtion( LPVOID lpParam ) {
  2. HANDLE thread_id;
  3. thread_id = GetCurrentThread();
  4. //Otras variables
  5. //codigo aque para procesar al cliente correctamente
  6.  
  7. free(lpParam); //Si lpParam es un parametro que tenemos que liberar entonces Free
  8.  
  9. CloseHandle(thread_id); //Terminamos con nuestro propio Thread
  10. }
  11.  

Me base en el ejemplo puesto aqui:

http://foro.elhacker.net/programacion_cc/createthread_o_createprocess-t458039.0.html

Saludos
66  Programación / Programación C/C++ / CreateThread o CreateProcess en: 21 Septiembre 2016, 17:07 pm
Estoy haciendo un servidor en C el tema es cual funcion debo elegir como la deberia de aplicar.

Tengo 2 versiones de mi servidor, una para sistemas Unix y otra para Windows.

En unix no hay problema solo hago un fork y asunto resuelto:

Código
  1. if(listen(ListenSocket, BACKLOG) == -1) {
  2. perror("error: listen");
  3.  
  4.  
  5.        return 1;
  6.    }
  7. while(entrar) {
  8. pid = fork();
  9. switch(pid) {
  10. case 0:
  11. //Codigo para el Hijo
  12. break;
  13. case -1:
  14. //Error no fallo Fork
  15. break;
  16. default:
  17. //Get the PID for Parent
  18. break;
  19. }
  20. }

Pero no he encontrado una solucion para Windows, el servidor funciona bastante bien, el punto que en windows no es Multihilo aun, y tarda en responder ya que lo hace en orden secuencial.

He visto los siguientes enlaces y aun no doy con una solucion sencilla al tema

http://stackoverflow.com/questions/985281/what-is-the-closest-thing-windows-has-to-fork
http://stackoverflow.com/questions/14642496/any-simple-quick-way-to-fork-on-windows-ansi-c-beginthread-beginthreadex

Repito tengo 2 archivos distintos uno para Windows con winsock y el otro para Unix con Sockets estandar del sistema.

Saludos!
67  Foros Generales / Foro Libre / Agregadores (Servicios Moviles) - Lista para darse de baja en: 20 Septiembre 2016, 22:26 pm
Bueno escribo por si alguien tiene el mismo problema

Un agregador en servicios móviles es un servicio donde por X cantidad de dinero semanal el usuario tiene acceso a un "servicio y/o beneficio" si es que realmente sirven de algo, cosa que dudo mucho.

Hace unos días mi numero móvil fue agregado a una lista de Servicios de estos servicios, En teoria estos servicios necesitan confirmación por parte del usuario para ser dado de alta pero la verdad NO ES ASI.

Ver tweets:

https://twitter.com/albertobsd/status/769922393158455297
https://twitter.com/albertobsd/status/769194215318310912

No se como, ni quien fue el responsable de hacer esto, en Atención a clientes de mi proveedor (TELCEL) indican que no existe forma para suscribirse a estos servicios sin que el usuario lo confirme mediante mensaje de texto. Y si les dices que no fuiste tu o cualquier otra cosa vuelven a repetirte lo mismo como grabadora parece que tienen esa indicacion y/o no tienen mente propia

Sospecho las siguientes causas:
  • Te suscribe la misma compañía para sacarte mas dinero
  • Visitastes algun sitio con ads/scripts intrusivos que te suscribieron automáticamente a X servicio

Sospecho lo primero por que en mi caso sucedió exactamente una semana después de cancelar el contrato que tenia con ellos.
Y de lo segundo ya que como programador y aprendiz de hacker se que es posible crear algunos scripts que exploten algun bug en tu movil y envien mensajes de texto silenciosos.


DARTE DE BAJA

Para el caso de telcel tenemos las siguientes opciones:




Anterioremente

Hace años circulaban varias paginas de Internet donde estaba un formulario para agregar un numero de celular a estos servicios, paginas amarillistas como "la fecha de tu muerte", "bruja real", "Video no apto para cardiacos" etc...

Cada vez he visto menos de estas paginas pero lo interesare seria ver para quien trabajan estas paginas y tirarles el servicio.

Historias relacionadas:

https://www.reddit.com/r/mexico/comments/o8bc1/telcel_los_agregadores_de_contenido_y_su_nueva/
https://www.reddit.com/r/mexico/comments/3sbr79/quien_regula_a_los_agregadores_de_contenido_en/
68  Programación / Programación C/C++ / Mejor forma de procesar una cadena de formato [Cantidad de memoria] en: 16 Septiembre 2016, 00:12 am
Buenas!!

Estoy haciendo un pequeño servidor WEB en C, algo basico y como ejercicio, ya que este algo pulido dejare el link al codigo por aqui.


El detalle que me encuentro es que quiero crear una función de argumentos variables asi como el printf donde le ahorre al usuario "final" ( :rolleyes: :rolleyes:) el reservar memoria para el buffer de respuesta al cliente. para ello solo creare una función llamada "server_print" donde el usuario colocara su formato de cadena y las variables que el quiera. Y que la función haga el trabajo duro...

session es un contenedor de variables auxiliares y ese de momento, se puede obviar...

Código
  1. void server_print(struct peticion *session,char *format,...) {
  2. char *buffer = NULL;
  3. int X;
  4. va_list args;
  5. va_start(args, format);
  6. buffer =malloc(X);
  7. vsnprintf(buffer,X,format, args);
  8.  
  9. //realizar operaciones sobre session...
  10.  
  11.  
  12. va_end(args);
  13. }
  14.  

Lo que me interesa saber es el cuando debe de valer X para reservar esa cantidad de memoria exacta.. el detalles esta en que puedo ahórrame el "pensar" y asignar MUCHA memoria por cada argumento del programa, pero el detalle esta en que:

¿Que pasa si no alcanza?

Quiero tener un programa eficiente que no malgaste memoria y sea rápido...

Se me ocurre buscar en la cadena de formato por cada % que se encuentre y por ejemplo si es un Entero reservar solo 12 bytes mas, si es cadena sacar el strlen del argumento en cuestion, si es %l dejar sobre 30 bytes mas y asi...

¿Como procederían ustedes?

Saludos!
69  Foros Generales / Foro Libre / ¿Cuantos trackers puede tener un torrent? en: 15 Septiembre 2016, 00:24 am
Estoy desarrollando una app y ahora tengo que poner un limite al numero de trackers que puede tener un torrent.

En teoria no debería de tener limite lo se, pero si vemos la mayoria de los links magnet en TPB solo vienen con unos 3 o 5 trackers

Pero no encuentro ningun documento que especifique un limite claro.

En mi caso he optado por 16 trackers esto solo lo pregunto para optimizar el tamaño de almacenamiento, ya en ejecucion puede crecer lo que sea necesario.

Saludos
70  Programación / Programación C/C++ / Validando peticion GET manualmente en: 13 Septiembre 2016, 20:36 pm
Buen dia estoy desarrollando un pequeño servidor en C para un proyecto que tengo.

Ya tengo buena parte trabajado, pero me gustaria consultarles si existen mas cosas que deba de validar en una peticion GET  el ejemplo que mas o menos tengo del codigo es el siguiente:

Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4.  
  5. #define KB 1024
  6.  
  7. int main() {
  8. char *type,*resource,*protocol,*extra,*hasQuery,**values = NULL,*key,*value,*aux;
  9. int values_count= 0,i;
  10. char *temp = malloc(KB);
  11. strcpy(temp,"GET /LALALA/xD.txt?q=xD&XD HTTP/1.1");
  12. type = strtok(temp," ");
  13. resource = strtok(NULL," ");
  14. protocol = strtok(NULL," ");
  15. extra = strtok(NULL," ");
  16. printf("type = %p: %s\n",type,type);
  17. printf("resource = %p: %s\n",resource,resource);
  18. printf("protocol = %p: %s\n",protocol,protocol);
  19. printf("extra = %p\n",extra);
  20. hasQuery = strstr(resource,"?");
  21. if(hasQuery) {
  22. printf("query = %p: %s\n",hasQuery,hasQuery);
  23. aux =  strtok(hasQuery+1,"&");
  24. do {
  25. if(aux) {
  26. values = realloc(values,sizeof(char*)*(values_count+1));
  27. values[values_count] = aux;
  28. printf("values: %s\n",values[values_count]);
  29. values_count++;
  30. }
  31. aux =  strtok(NULL,"&");
  32. }while(aux);
  33. i = 0;
  34. while(i < values_count) {
  35. key = strtok(values[i],"=");
  36. value = strtok(NULL,"");
  37. //Aqui salvo los valores key y value para su posterior uso
  38. printf("Key: %s\nValue: %s\n",key,value);
  39. i++;
  40. }
  41. }
  42. else
  43. printf("query = %p\n",hasQuery);
  44. if(values)
  45. free(values);
  46. if(temp) {
  47. free(temp);
  48. }
  49. }
  50.  
  51.  

Estoy releyendo el protocolo del HTTP y estoy validando de momento solo la primera LINEA de la peticion.

Saludos!
Páginas: 1 2 3 4 5 6 [7] 8 9 10 11 12 13 14 15 16 17 18
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines