Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - PiernaDeFelipeCamiroaga

#1
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

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <netdb.h>
#include <sys/sendfile.h>               //Sirve para poder enviar archivos
#include <sys/types.h>                  //Sirve para poder recivir archivos
#include <linux/if_packet.h>
#include <sys/ioctl.h>                  // Estas 2 librerias son para poder saber algunos datos sobre el
#include <net/if.h>                     // Cliente en cuention
   
#define BUFFSIZE 1
#define ERROR -1
#define BUFFERSIZE 512

// Funciones //
   
int login(int socket_cliente);
void direccip(int socket_cliente, struct sockaddr_in addr);
void salir(int socket_servidor, int socket_cliente);
int intentos = 0;
   
int main(){

   int socket_servidor;            //Socket del servidor para escuchar mensajes
   int socket_cliente;             //Socket del cliente para enviar mesajes
   int puerto = 8081;              //Numero de puerto en /etc/service
   char BUFFER[BUFFERSIZE];        //Mensaje para usar los comandos
   FILE * archivo;                 //Archivo sin formato

   socket_servidor = socket(AF_INET, SOCK_STREAM, 0);
   socklen_t longc;

  // Declaracion de las escructuras;
   struct sockaddr_in servidor, cliente;                   //Creamos las estructuras del cliente y servidor al mismo tiempo
   bzero((char *)&servidor, sizeof(servidor));             //Primero llenamos de 0's la struct
   servidor.sin_family = AF_INET;                          //Asiganamos la estructura
   servidor.sin_port = htons(puerto);                      //Indicamos el puerto
   servidor.sin_addr.s_addr = INADDR_ANY;                  //Esta macro especifica nuestra direccion
   
   if(bind(socket_servidor, (struct sockaddr *)&servidor, sizeof(servidor)) < 0){ //asignamos un puerto al socket
       printf("Error al asociar el puerto a la conexion\n");
       return 1;
   }
   
           
   listen(socket_servidor,3);                              //Escuchamos por este puero maximo 2 clientes distintos
   while(free){
       intentos = 0;
       printf("Escuchando en el puerto %d\n", ntohs(servidor.sin_port));
       longc = sizeof(cliente);                                //Asignamos el tamano de la estructura a esta variable
       socket_cliente = accept(socket_servidor, (struct sockaddr *)&cliente, &longc); // Esperamos una conexion
       if(socket_cliente == -1){
           printf("Error en al conexion\n");
        return 1;
       }
       printf("Conectando con %s:%d\n",inet_ntoa(cliente.sin_addr),htons(cliente.sin_port));
   
   //Login con el servidor

       int conexion = login(socket_cliente);
       printf("\n");
       if(conexion == 12){
           while(free){
               bzero(BUFFER, BUFFERSIZE);
               recv(socket_cliente,BUFFER,50,0);
               if(strncmp(BUFFER,"IP",2) == 0){
                   direccip(socket_cliente, cliente);
               }
               if(strncmp(BUFFER,"EXIT", 4) == 0){
                   salir(socket_servidor, socket_cliente);
               }
           }
       }
   }
}
int login(int socket_cliente){
         
   char user[8];
   char pass[8];

   if(intentos == 3){
       close(socket_cliente);
       return 0;
   }

   memset(user,0 , 8);
   memset(pass,0 , 8);
   printf("%i",intentos );
   printf("\n");

   
   send(socket_cliente,"Usuario: ",10,0);
   read(socket_cliente,user,9);
   send(socket_cliente, "Contrasena: ", 12, 0);
   read(socket_cliente, pass, 8);
   
   if(strncmp(user, "root",4) == 0){
       if(strncmp(pass, "root",4) == 0){
           send(socket_cliente,"Bienvenido\n",12,0);
       }else{
           send(socket_cliente,"ERROR\n",7,0);
           intentos = intentos + 1;
           login(socket_cliente);
       }
   }else{
       send(socket_cliente,"ERROR\n",7,0);
       intentos = intentos + 1;
       login(socket_cliente);
   }
}
   
void direccip(int socket_cliente, struct sockaddr_in addr){
   write(socket_cliente, "Tu eres: ",9);
   write(socket_cliente, inet_ntoa(addr.sin_addr), 16);
   write(socket_cliente,"\n",2);
}

void salir(int socket_servidor, int socket_cliente){
   write(socket_cliente, "ADIOS ;)\n", 10);
   close(socket_cliente);
}
#2
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)
#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
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
(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