Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: PHAMTOM en 5 Marzo 2010, 04:05 am



Título: [Problema]Con script en perl.
Publicado por: PHAMTOM en 5 Marzo 2010, 04:05 am
Buenas,me estoy iniciando en el mundo de la programación en perl , y me surgio un problema al hacer una especie de "CRACKME".

El tema es que cuando , el password se comprueba,da siempre resultado correcto..

El codigo del mismo es :

Código:
#!/usr/bin/perl
print("Escribe el password : ");
$pass=<STDIN>;
system("cls");
if($pass=="hola")
{
print("Password correcto\n\n");
}
else
{
print("Password incorrecto\n\n");
}

Aunque en <STDIN> entre askdjasdjkhasd, el password me da correcto :'(..

Tambien probe con :

Código:
#!/usr/bin/perl
print("Escribe el password : ");
$pass=<STDIN>;
$contador=1;
# no le presteis atencion al contador feo.
do
{
$contador++;
print("\nCargando..");
system("cls");
}until($contador == 20);
system("cls");
if($pass!="hola")
{
print("Password incorrecto\n\n");
}
else
{
print("Password correcto\n\n");
}



Gracias de antemano, saludos : ) ..

MOTMAHP


Título: Re: [Problema]Con script en perl.
Publicado por: ^Tifa^ en 5 Marzo 2010, 18:53 pm
Querras captar el retorno de carro o valor null o tecla 'Enter' como ultimo caracter de la frase introducida no?  ;)


Código
  1.  
  2. print("Escribe una contraseña :: ");
  3. my $pass = <STDIN>;
  4. chomp($pass);
  5.  
  6.  if ( $pass eq "hola" ) {
  7.  
  8.     print STDOUT "Es correcto\n";
  9.  
  10.  } else {
  11.  
  12.     print STDOUT "Es Incorrecto\n";
  13.  
  14.  }
  15.  
  16.  

Haz la prueba... observa y prueba :


Código
  1.  
  2. print("Escribe una contraseña :: ");
  3. my $pass = <STDIN>;
  4.  
  5.  if ( $pass eq "hola\n" ) {
  6.  
  7.     print STDOUT "Es correcto\n";
  8.  
  9.  } else {
  10.  
  11.     print STDOUT "Es Incorrecto\n";
  12.  
  13.  }
  14.  
  15.  

El retorno de carro o tecla Enter tiene el valor '\n'

Saludos  :rolleyes:


Título: Re: [Problema]Con script en perl.
Publicado por: leogtz en 6 Marzo 2010, 00:42 am
^TiFa^, el STDOUT no es necesario, la salida va dirigida por defecto a 1(stdout).


Título: Re: [Problema]Con script en perl.
Publicado por: ^Tifa^ en 6 Marzo 2010, 03:48 am
Lo se  ;)   es costumbre ya personal mia... asi como dar uso de fprintf en C cuando puedo perfectamente dar uso de printf.

Pero... se accepta la sugerencia  :P  para el chico que pregunto digo, porque la costumbre no creo que se me quite  :xD


Título: Re: [Problema]Con script en perl.
Publicado por: leogtz en 6 Marzo 2010, 04:16 am
Jaja, bueno, cada quien tiene su estilo.


Título: Re: [Problema]Con script en perl.
Publicado por: PHAMTOM en 7 Marzo 2010, 13:05 pm
Gracias, lo que marco la diferencia y que me hizo funcionar el " CRACKME " fue el chomp($pass); , pero por qué ? , porque la cadena del password que introduzco en <STDIN> , al apretar enter , termina con un \n ? y chomp($pass); elimina el ultimo caracter ?? ,quiero saber si es así y si no si alguien me puede aclarar :) , Muchas Gracias.

PHAMTOM


Título: Re: [Problema]Con script en perl.
Publicado por: leogtz en 7 Marzo 2010, 17:15 pm
Exactamente como lo has dicho, con <STDIN> lees también el caracter '\n', y lo que se pretende con chomp, es eliminar precisamente ese '\n' de la cadena.

Mira, así podrías entenderlo mejor:
Código
  1.  
  2. #!/usr/bin/perl
  3. print("Escribe una contraseña :: ");
  4. my $pass = <STDIN>;
  5.  if ( $pass eq "hola\n" ) {
  6.     print STDOUT "Es correcto\n";
  7.  } else {
  8.     print STDOUT "Es Incorrecto\n";
  9.  }

Saludos.


Título: Re: [Problema]Con script en perl.
Publicado por: PHAMTOM en 8 Marzo 2010, 16:14 pm
Muchisimas gracias,me han aclarado todo , pueden cerrar el tema,saludos a todos y muy buen foro : ) ..

PHAMTOM  ;D


Título: Re: [Problema]Con script en perl.
Publicado por: ~ Yoya ~ en 8 Marzo 2010, 16:29 pm
Tambien tuvo que ver lo que Tifa puso, que usabas la comparacion == que es para valores numericos y no esta comparando valores numericos si no cadena de caracter, asi que debes usar eq xD.

Que bueno que por esto lado se programa en perl, antes pasaba por esto lados pero nunca veia script en perl, mucho python xD


Título: Re: [Problema]Con script en perl.
Publicado por: PHAMTOM en 8 Marzo 2010, 19:12 pm
Tambien tuvo que ver lo que Tifa puso, que usabas la comparacion == que es para valores numericos y no esta comparando valores numericos si no cadena de caracter, asi que debes usar eq xD.

Que bueno que por esto lado se programa en perl, antes pasaba por esto lados pero nunca veia script en perl, mucho python xD

Jaja ! , pues sí , me interese mas por el lado de perl, ya que estuve estudiando bof , y realmente ,tengo conocimientos de otros lenguajes de programación, por eso me maneje para el local bof , pero a la hora del remote buffer overflow, era super necesario la programación de sockets, tenia para elegir entre perl y c , y me meti en perl ,termine un manual y ahora estoy viendo si encuentro uno bueno de programacion en socket,me gusta este lenguaje,ya que no tiene complejidad y se me hace facil entenderlo , saludos .

PHAMTOM


Título: Re: [Problema]Con script en perl.
Publicado por: ~ Yoya ~ en 8 Marzo 2010, 21:26 pm
Ps yo ya pase por eso, pero cuando estaba aprendiendo a explotar Buffer Overflow ya me manejaba en perl...
Mi tiempo.. (http://foro.undersecurity.net/read.php?15,4414)