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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Ayuda al programar un servidor FTP en C en: 19 Octubre 2018, 21:09 pm
La cosa es que programe un servidor con protocolo TPC en linux y funciona para enviar mensajes y cosas muy básicas usando el comando telnet de linux. Pero lo que quiero es poder subir archivos o descargarlos desde ese servidor tengo idea de como hacerlo, en Internet vi que podía usar Firezilla que seria la opción fácil pero la verdad quiero yo programar toda la parte del servidor si alguien me puede ayudar a poder hacer eso estaria muy agradecido. Gracias de antemano

Código
  1. #include <stdlib.h>
  2. #include <string.h>
  3. #include <stdio.h>
  4. #include <unistd.h>
  5. #include <sys/socket.h>
  6. #include <arpa/inet.h>
  7. #include <netinet/in.h>
  8. #include <netdb.h>
  9. #include <sys/sendfile.h>               //Sirve para poder enviar archivos
  10. #include <sys/types.h>                  //Sirve para poder recivir archivos
  11. #include <linux/if_packet.h>
  12. #include <sys/ioctl.h>                  // Estas 2 librerias son para poder saber algunos datos sobre el
  13. #include <net/if.h>                     // Cliente en cuention
  14.  
  15. #define BUFFSIZE 1
  16. #define ERROR -1
  17. #define BUFFERSIZE 512
  18.  
  19. // Funciones //
  20.  
  21. int login(int socket_cliente);
  22. void direccip(int socket_cliente, struct sockaddr_in addr);
  23. void salir(int socket_servidor, int socket_cliente);
  24. int intentos = 0;
  25.  
  26. int main(){
  27.  
  28.    int socket_servidor;            //Socket del servidor para escuchar mensajes
  29.    int socket_cliente;             //Socket del cliente para enviar mesajes
  30.    int puerto = 8081;              //Numero de puerto en /etc/service
  31.    char BUFFER[BUFFERSIZE];        //Mensaje para usar los comandos
  32.    FILE * archivo;                 //Archivo sin formato
  33.  
  34.    socket_servidor = socket(AF_INET, SOCK_STREAM, 0);
  35.    socklen_t longc;
  36.  
  37.   // Declaracion de las escructuras;
  38.    struct sockaddr_in servidor, cliente;                   //Creamos las estructuras del cliente y servidor al mismo tiempo
  39.    bzero((char *)&servidor, sizeof(servidor));             //Primero llenamos de 0's la struct
  40.    servidor.sin_family = AF_INET;                          //Asiganamos la estructura
  41.    servidor.sin_port = htons(puerto);                      //Indicamos el puerto
  42.    servidor.sin_addr.s_addr = INADDR_ANY;                  //Esta macro especifica nuestra direccion
  43.  
  44.    if(bind(socket_servidor, (struct sockaddr *)&servidor, sizeof(servidor)) < 0){ //asignamos un puerto al socket
  45.        printf("Error al asociar el puerto a la conexion\n");
  46.        return 1;
  47.    }
  48.  
  49.  
  50.    listen(socket_servidor,3);                              //Escuchamos por este puero maximo 2 clientes distintos
  51.    while(free){
  52.        intentos = 0;
  53.        printf("Escuchando en el puerto %d\n", ntohs(servidor.sin_port));
  54.        longc = sizeof(cliente);                                //Asignamos el tamano de la estructura a esta variable
  55.        socket_cliente = accept(socket_servidor, (struct sockaddr *)&cliente, &longc); // Esperamos una conexion
  56.        if(socket_cliente == -1){
  57.            printf("Error en al conexion\n");
  58.         return 1;
  59.        }
  60.        printf("Conectando con %s:%d\n",inet_ntoa(cliente.sin_addr),htons(cliente.sin_port));
  61.  
  62.    //Login con el servidor
  63.  
  64.        int conexion = login(socket_cliente);
  65.        printf("\n");
  66.        if(conexion == 12){
  67.            while(free){
  68.                bzero(BUFFER, BUFFERSIZE);
  69.                recv(socket_cliente,BUFFER,50,0);
  70.                if(strncmp(BUFFER,"IP",2) == 0){
  71.                    direccip(socket_cliente, cliente);
  72.                }
  73.                if(strncmp(BUFFER,"EXIT", 4) == 0){
  74.                    salir(socket_servidor, socket_cliente);
  75.                }
  76.            }
  77.        }
  78.    }
  79. }
  80. int login(int socket_cliente){
  81.  
  82.    char user[8];
  83.    char pass[8];
  84.  
  85.    if(intentos == 3){
  86.        close(socket_cliente);
  87.        return 0;
  88.    }
  89.  
  90.    memset(user,0 , 8);
  91.    memset(pass,0 , 8);
  92.    printf("%i",intentos );
  93.    printf("\n");
  94.  
  95.  
  96.    send(socket_cliente,"Usuario: ",10,0);
  97.    read(socket_cliente,user,9);
  98.    send(socket_cliente, "Contrasena: ", 12, 0);
  99.    read(socket_cliente, pass, 8);
  100.  
  101.    if(strncmp(user, "root",4) == 0){
  102.        if(strncmp(pass, "root",4) == 0){
  103.            send(socket_cliente,"Bienvenido\n",12,0);
  104.        }else{
  105.            send(socket_cliente,"ERROR\n",7,0);
  106.            intentos = intentos + 1;
  107.            login(socket_cliente);
  108.        }
  109.    }else{
  110.        send(socket_cliente,"ERROR\n",7,0);
  111.        intentos = intentos + 1;
  112.        login(socket_cliente);
  113.    }
  114. }
  115.  
  116. void direccip(int socket_cliente, struct sockaddr_in addr){
  117.    write(socket_cliente, "Tu eres: ",9);
  118.    write(socket_cliente, inet_ntoa(addr.sin_addr), 16);
  119.    write(socket_cliente,"\n",2);
  120. }
  121.  
  122. void salir(int socket_servidor, int socket_cliente){
  123.    write(socket_cliente, "ADIOS ;)\n", 10);
  124.    close(socket_cliente);
  125. }
2  Programación / Programación C/C++ / Como hacer un programa para hacer fuerza bruta no diccionarios en: 15 Junio 2018, 05:05 am
Hola la descubrí que en mi colegio las credenciales para ingresar a la pagina para ver las notas usa la fecha de nacimiento como contraseña y usuario y entonces hice un programa para hacer el diccionario en un txt dejare el codigo(es útil si solo sabes el ano de la otra persona como es mi caso)
Código:
#include <iostream>
#include <stdlib.h>
#include <windows.h>
#include <fstream>
using namespace std;
int dia = 0;
int mes = 1;
int ano = 1971; //EDITA ESTA VARIABLE SI ES NECESARIO
void file(){
ofstream dic;
string nombrearchivo;
cout<<"nombre del archivo + txt?"<<endl;
getline(cin,nombrearchivo);
dic.open(nombrearchivo.c_str(),ios::out);
if(dic.fail()){
cout<<"No se puedo abrir el archivo";
exit(1);
}
for(int i = 1;i<365;i=i+1){
dia = dia + 1;
if(dia == 31){
mes = mes + 1;
dia = 1;
}
if(dia < 10 || mes < 10){
if(mes < 10 && dia < 10 ){
dic<<"0"<<dia<<"0"<<mes<<ano<<endl;
}
}else{
dic<<dia<<mes<<ano<<endl;
}
}
}
void creacion(){
for(int i = 1;i<365;i=i+1){
dia = dia + 1;
if(dia == 31){
mes = mes + 1;
dia = 1;
}
if(dia < 10 || mes < 10){
if(mes < 10 && dia < 10 ){
Sleep(20);
cout<<"0"<<dia<<"0"<<mes<<ano<<endl;
}
}else{
Sleep(20);
cout<<dia<<mes<<ano<<endl;
}
}
}
int main(){
file();
creacion();
system ("pause");
return 0;
}

Bueno la cosa es que tengo el diccionario pero necesito hacer otro programa para utilizarlo osea que interactue con al pagina web. Si me pueden orientar un poco para poder hacerlo y no tener que poner todas las contraseñas yo mismo gracias de antemano
3  Programación / Programación C/C++ / Como usar comandos de MSDOS en c++ en: 17 Mayo 2018, 05:19 am
Hace unos meses publique como podia hacer un backdoor y me dijieron que tenia que aprender a programar en c++ y e leido unos cuantos libros visto videos etc... y vi un video de como ejecutar comandos de MSDOS pero no entendí mucho, quería saber si alguien me puede ayudar diciéndome alguna pagina, libro y/o video, me ayudaría bastante
4  Seguridad Informática / Análisis y Diseño de Malware / Como podria hacer un backdoor en: 1 Marzo 2018, 05:42 am
(nose si este post va en esta sección)

Hola, la verdad entiendo poco del tema de seguridad informatica o hacking pero quiero hacer un backdoor, pero no con TheFatRat o algun programa que lo automatise lo quiero programar yo para saber como funciona y entederlo mas que nada y queria saber si alguien me puede acesorar con algun lenjuage de programacion o algun libro o blog donde pueda ver esto y aprender porque en youtube encuentro solo ninos de 12 anos (tengo teclado ingles) que se ponen mascaras de anonimus y esas cosas no importa si el libro o blog es largo ya que no es un problema para mi, ademas si existen algunos conocimientos previos a poder hacer algo asi tambien me serviria. Gracias de ante mano
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines