|
Mostrar Mensajes
|
Páginas: [1] 2 3
|
1
|
Programación / Programación C/C++ / [C] Problema: funcion 'validar_numero()' siempre me retorna 1
|
en: 17 Septiembre 2015, 00:09 am
|
[Consulta C]Buenas!! ando con un problema seguramente no muy dificil de resolver pero despues de horas de programacion e investigacion ya nose que probar, de todas maneras voy a seguir intentando y si encuentro solucion la publico.. El problema: La funcion "validar_numero()" retorna siempre 1!! Aunque ingrese -1, 15, 23, 123, asd,e3,2a, etc Dejo parte del codigo y sus respectivas funciones: ------------------------------------------------------------------- //[Codigo] do{// ---------------------------------------------------------------CARGA ID if(c) printf("Ingreso un valor incorrecto, ingrese nuevamente\n"); printf("\nIngrese Id del curso: "); //fflush(stdin);-----------------------NO USAR-> EN SU LUGAR USAR "lbuffer()" -> Funcion creada en este archivo. //scanf("%s",aux); fgets(aux,100,stdin);//fgets en este caso guarda lo que se ingresa del teclado ('stdin') en la cadena de caracteres 'aux' //con un maximo de 99 caracteres (100-1). Si se ingresan menos de 99 caracteres se agrega un '\n' if(aux[strlen(aux)-1]=='\n')aux[strlen(aux)-1]=='\0';//Si se agrega un \'n' lo "sacamos" poniendo en su lugar un '\0' lbuffer();//funcion que limpia buffer printf("\n Ingresaste: %s\n",aux); if(validar_numero(aux)==1)c=1; else c=0; }while(validar_numero(aux)==1);//Si la funcion retorna 1 > Ingreso un valor incorrecto //Si sale del while > es correcto el valor ingresado (Es numero) > guardamos en archivo curso[i].id=atoi(aux); //atoi me convierte la cadena de caracteres a int // ---------------------------------------------------------------FIN CARGA ID //------------------------------------------------------------------------------ //Dejo aca la funcion "validar_numero(char *n)" y "lbuffer()": //------------------------------------------------------------------------------- int validar_numero(char *n){ int largo=strlen(n), es_num=0, bien=0; for(int i=0;i<largo;i++){ es_num=atoi(n+i); //atoi retorna 0 cuando NO es numero if(!es_num)return 1; }//for return 0;//Si la funcion llego hasta aca > SI es numero (Retornamos 0) } void lbuffer(){ /* esta funcion 'lbuffer()' es para limpiar el buffer, no uso 'fflush(stdin)' por que no es correcto usarla, ademas de que trabajo en GNU/Linux (Debian) y "no funciona" */ int d; while((d=getchar())!= '\n' && d != EOF); }
|
|
|
2
|
Seguridad Informática / Hacking / Como finalizar un dns_spoof de ettercap por consola?
|
en: 29 Junio 2013, 06:02 am
|
Hola, estoy en backtrack 5 r3, al ingresar lo siguiente: -ettercap -T -q -i wlan0 -P dns_spoof -M arp:remote /(ip victima)/ // Con eso arranca el dns spoof para la ip que seleccione... Y como finalizo el dns_spoof? Gracias! (Lo se hacer en modo Grafico, con "ettercap -G", lo quiero hacer por consola ahora)
|
|
|
3
|
Seguridad Informática / Hacking / Crear usuario OpenVas
|
en: 28 Junio 2013, 18:50 pm
|
Hola, tengo un problema, yo hago lo siguiente: openvas-mkcert openvas-nvt-sync openvas-mkcert-client -n om –i openvasmd –-rebuild openvassd touch /usr/local/var/lib/openvas/mgr/tasks.db openvasmd –-backup openvasmd –-rebuild openvasad -c ‘add_user’ -n openvasadmin -r Admin ############## openvas-adduser openvasmd -p 9390 -a 127.0.0.1 openvasad -a 127.0.0.1 -p 9393 gsad -–http-only -–listen=127.0.0.1 -p 9392 Pero.. en la linea donde puse los "##" me da un error, el siguiente: ad main:WARNING:3915:2013-06-28 09h46.27 EDT : Invalid command! Entonces no puedo agregar usuarios... pero sigo adelante pongo: openvas-adduser ahi me pide: Login, ingreso uno cualquiera, si existe me dice que ya existe, y que elija otro, y si no existe me pide authentication(pass/cert) ahi pongo enter, despes me pide la contraseña que le quiero dar. Pero de esa forma no agrego usuarios por que cuando voy a localhost:9392 me pide que me loguee y no anda ninguno de los usuarios que puse en openvas-adduser, mi problema esta en la linea ########, con el comando openvasad. PD: Si pongo "info openvasad" me sale toda la informacion, osea el comando existe, y existe -c, -n, -r.. nose donde esta el problema ayudaaaaaaaaaaaa!! Gracias
|
|
|
4
|
Seguridad Informática / Hacking / Ayuda actualizar Nessus
|
en: 28 Junio 2013, 00:22 am
|
Hola, tengo un problema! Cuando quiero actualizar nessus para empezar a usarlo, Pongo lo siguiente enuna terminal: sudo /opt/nessus/bin/nessus-fetch –register XXXX-XXXX-XXXX-XXXX-XXXX Donde XXXX-XXXX-.... es el codigo que te envia nessus despues de registrarte en su pagina, ese codigo solo funciona una vez. Bueno hasta aca todo bien.. despues sale el siguiente mensaje en la consola: Your activation code has been registered properly - thank you. Now fetching the newest plugin set from plugins.nessus.org... Pero abajo de eso sale: Could not verify the signature of all-2.0.tar.gz Y en lugar de eso deberia salir como en esta imagen o eso creo.. Espero que me puedan ayudar! gracias!
|
|
|
5
|
Seguridad Informática / Hacking / Re: [Ayuda] Metasploit winxp sp3 no consigo la shell
|
en: 27 Junio 2013, 23:46 pm
|
Ufffffffffff, estas un poco perdidillo. Utilizando ese Exploit dudo mucho que consigas hacer nada. Supongo que seas novato en esto y has mirado tutoriales DE HACE MIL AÑOS donde lo utilizan, pero lo normal es que no consigas nada por diferentes motivos.
Si quieres conseguir que te funcione y seguir probando, yo utilizaría una maquina virtual o un equipo donde acabes de instalar XP.
jaja gracias por la respuesta, si habia leido que era viejo y que ya no funcionaba, soy un poco nuevo en metasploit, y no encuentro como podria explotar el puerto 445, estaria bueno que me puedan ayudar!!
|
|
|
6
|
Seguridad Informática / Hacking / [Ayuda] Metasploit winxp sp3 no consigo la shell
|
en: 27 Junio 2013, 19:14 pm
|
Hola, espero que me puedan ayudar.. Estoy haciendo pruebas en la red lan que tengo en mi casa, en una pc de escritorio tengo el backtrack 5 r3, quiero ingresar a la shell de una netbook que tengo al lado con windows xp sp3. Uso el xploit ms08_067_netapi con el payload shell_reverse_tcp Seteo el RHOST poniendo la ip de la netbook, y LHOST poniendo la ip de la otra pc (en la que tengo el metasploit) Pongo "exploit" y esto es el resultado: [*] Started reverse handler on 192.168.1.11:4444 [*] Automatically detecting the target... [*] Fingerprint: Windows XP SP3 Spanish (NX) [*] Attempting to trigger the vulnerability msf exploit(ms08_067_netapi) >
Y en ningun momento obtengo la shell, Otros datos: La netbook tiene abierto los siguientes puertos: 80,139,3389,443,445 Yo estoy tratando de entrar por el 445. Espero que me puedan ayudar, saludos
|
|
|
7
|
Programación / Programación C/C++ / Ayudaa problema nivel basico
|
en: 13 Marzo 2012, 23:48 pm
|
Buenas, ya habia preguntado algo sobre este programa y lo pude solucionar aca el link-> http://foro.elhacker.net/programacion_cc/ayuda_array_facil-t356132.0.htmlahora tengo otro problema, intente varias formas de hacer esto y no me sale, queria ver si ustedes podrian resolver la parte que me falta y explicar el code, muchas gracias Aca la consigna de la funcion que me falta: La otra función responderá a este prototipo: int Diferencia(fecha, fecha);, y debe devolver la diferencia en días entre las dos fechas suministradas. #include<iostream> #include<stdio.h> using namespace std; struct fecha{ unsigned short int dia:5; unsigned short int mes:4; unsigned short int anno:7; }; void mostrar(fecha x){ char *mes[]={"Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"}; cout<<"Fecha:"<<endl; cout<<" "<<x.dia<<" de "<<mes[x.mes-1]<<" de "<<(x.anno + 1960)<<endl; } bool Biciesto(fecha x){ if((x.anno+1960)%2==0)cout<<"FEBRERO ES BICIESTO"<<endl; else cout<<"FEBRERO NO ES BICIESTO"<<endl; } bool ValidarFecha(fecha x){ bool tof=true; int DiaMes[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if (x.mes>=1){ if(x.mes>12) tof=false; } else tof=false; if (tof==true){ if(x.dia>=1){ switch(x.mes){ case 0:{if(x.dia>DiaMes[x.mes-1])tof=false;} case 1:{if(x.dia>DiaMes[x.mes-1])tof=false;} case 2:{ Biciesto(x); if(x.dia>DiaMes[x.mes-1])tof=false; } case 3:{if(x.dia>DiaMes[x.mes-1])tof=false;} case 4:{if(x.dia>DiaMes[x.mes-1])tof=false;} case 5:{if(x.dia>DiaMes[x.mes-1])tof=false;} case 6:{if(x.dia>DiaMes[x.mes-1])tof=false;} case 7:{if(x.dia>DiaMes[x.mes-1])tof=false;} case 8:{if(x.dia>DiaMes[x.mes-1])tof=false;} case 9:{if(x.dia>DiaMes[x.mes-1])tof=false;} case 10:{if(x.dia>DiaMes[x.mes-1])tof=false;} case 11:{if(x.dia>DiaMes[x.mes-1])tof=false;} } } } return tof; } int CompararFechas(fecha x,fecha y){ if(x.anno>y.anno)return 1; else{ if(x.anno<y.anno)return -1; else if(x.mes>y.mes)return 1; else if(x.mes<y.mes)return -1; else if(x.dia>y.dia)return 1; else if(x.dia<y.dia)return -1; else return 0; } } int main(){ int temp=0; fecha x,y; //aca podria ver decalarado un vector ejemplo: fecha[1]; ( fecha[0] y fecha [1]) //que me resutltaria mas facil para trabajar con bucles mas adelante cout<<"Introduzca Fecha: "<<endl; cout<<"Dia (ej: 31): ";cin>>temp;x.dia=temp; cout<<endl<<"Mes (ej: 12): ";cin>>temp;x.mes=temp; cout<<endl<<"Ano (del 1 al 127, a eso se le suma 1960): ";cin>>temp;x.anno=temp; cout<<endl; if (ValidarFecha(x)==true){ cout<<"La fecha es correcta."<<endl; } else cout<<"La fecha es incorrecta."<<endl; mostrar(x); cout<<endl<<"Introduzca otra fecha para compararla con la primera"<<endl; cout<<"Dia (ej: 31): ";cin>>temp;y.dia=temp; cout<<endl<<"Mes (ej: 12): ";cin>>temp;y.mes=temp; cout<<endl<<"Ano (del 1 al 127, a eso se le suma 1960): ";cin>>temp;y.anno=temp; cout<<endl; if (ValidarFecha(x)==true){ cout<<"La fecha es correcta."<<endl; } else cout<<"La fecha es incorrecta."<<endl; mostrar(y); if(CompararFechas(x,y)==1)cout<<"La primer fecha es mayor que la segunda"<<endl; else if(CompararFechas(x,y)==-1)cout<<"La segunda fecha es mayor que la primera"<<endl; else cout<<"Las fechas son iguales"<<endl; cout<<endl<<endl; }
ACLARO: NO es TAREA estoy estudiando por mi cuenta en un curso online y no me quiero saltar ningun ejercicio quiero entenderlos todos! PD: se me habia ocurrido algo asi.. pero nose ni coomo seguir y creo que ya empese mal jaja. Gracias! int Diferencia(fecha x,fecha y){ int auxano=0,auxmes=0,auxdia=0,tempp=0; if(x.anno>y.anno)auxano=(x.anno-y.anno); else {if(x.anno<y.anno)auxano=(y.anno-x.anno); } else { if(x.mes>y.mes)auxmes=(x.mes-y.mes); else if(x.mes<y.mes)auxmes=(y.mes-x.mes); else{ if(x.dia>y.dia){auxdia=(x.dia-y.dia);return auxdia;} else if (x.dia<y.dia)auxdia=(y.dia-x.dia);return auxdia; } } }
|
|
|
9
|
Programación / Programación C/C++ / Re: Ayuda array facil
|
en: 10 Marzo 2012, 21:18 pm
|
RHL Gracias voy a probar, no es una tarea, estoy estudiando c++ por mi cuenta en un curso online.. tenia que hacer esos ejercicios y bueno, no me salia jaja. Como decis de un array de 2 dimensiones? Osea.. mes[11][8]; mes[0][1] = 'E'; mes[0][2] = 'n'; mes[0][3] = 'e'; mes[0][4] = 'r'; mes [0][5] = 'o'; asi?? Si no es asi podrias explicarme porfavor? gracias! PD: no puedo usar puinteros ya que en lo que va del curso todavia no vi punteros, en el capitulo que viene veo punteros. ( estoy por estructuras) Graciaas
|
|
|
10
|
Programación / Programación C/C++ / Ayuda array facil
|
en: 10 Marzo 2012, 17:59 pm
|
Hola buenas tardes, estoy haciendo un ejercicio y me tira error en todas las lineas donde declaro el vector, dejo el enunciado y mi codigo. Nose si el codigo anda por que no lo puedo compilar por que me tira error en todas las lineas donde declaro el vector mes[] ,es un error muy tonto pero la verdad es que no encuentro la forma jaja Gracias. Enunciado: Diseñar una estructura análoga, llamada fecha, pero usando campos de bits. Usar sólo un entero corto sin signo (unsigned short), es decir, un entero de 16 bits. Los nombres de los campos serán: dia, mes y anno. Basándose en la estructura de bits del ejercicio anterior, escribir una función para mostrar fechas: void Mostrar(fecha);. El formato debe ser: "dd de mmmmmm de aaaa", donde dd es el día, mmmmmm el mes con letras, y aaaa el año. Usar un array para almacenar los nombres de los meses. #include<iostream> using namespace std;
struct fecha{ unsigned short int dia:5; unsigned short int mes:4; unsigned short int anno:7; };
void mostrar(fecha){ char mes[11]; int mees=0; int año=0; mes[0] = "Enero"; mes[1] = "Febrero"; mes[2] = "Marzo"; mes[3] = "Abril"; mes[4] = "Mayo"; mes[5] = "Junio"; mes[6] = "Julio"; mes[7] = "Agosto"; mes[8] = "Septiembre"; mes[9] = "Octubre"; mes[10] = "Noviembre"; mes[11] = "Diciembre"; mees = x.mes; año = 1960 + x.anno; cout<<"Fecha:"<<endl; cout<<" "<<x.dia<<" de "<<mes[mees]<<" de "<<año; } int main(){ fecha x; x.dia = 31; x.mes = 12; x.anno = 127; cout<<"Dia: "<<x.dia<<" Mes: "<<x.mes<<" año: "<<x.anno<<endl; cin.get(); }
|
|
|
|
|
|
|