Como posso obter uma senha de um site usando um formulário usando o método GET em uma plataforma .aspx?

1

Estou tentando descobrir uma senha para uma área de um site que usa o método GET para autenticar as credenciais corretas. A página é um .aspx , mas não tenho certeza se isso faz alguma diferença efetiva.

Os fatos:

  • eu já conheço o nome de usuário.
  • Não há proteção contra bots - Ex: não há CAPTCHA protection. Não há nada no lugar para validar que um humano está fazendo a tentativa de login.
  • As tentativas são ilimitadas. A página não vai te expulsar ou forçar um período de resfriamento para tentativas subsequentes com falha.

Esta não é uma pergunta ou projeto de lição de casa e, mais importante, obter e usar a senha (se encontrada) não viola nenhuma lei.

Eu apenas não estou familiarizado com o uso de programas de força bruta para quebrar a senha. Tudo o que sei sobre crackers de senha de força bruta é que eles sistematicamente tentam fazer o login usando um arquivo txt de dicionário fornecido ou uma lista gerada automaticamente.

Eu tentei Brutus e um outro programa em um Mac que eu esqueci o nome de. Ambos não me deram nada de útil e também não fizeram uma única tentativa. Eu não sei se a força bruta é o caminho a percorrer ou se estou usando programas desatualizados, mas, seja qual for o caso, alguém sabe como eu poderia quebrar a senha?

Como mencionei antes, não há preocupações legais aqui. Estou apenas tentando provar um ponto para alguém que pensa que desenvolver seu próprio script de login é melhor do que implementar um pacote que já cobriu esses problemas de prevenção "hacking".

Se alguém acreditar que essa pergunta é inadequada ou inaceitável para superuser.com, migre-a para outro membro da família de troca de pilha. Se estiver totalmente fora de linha, me desculpe, vote para fechar ou excluí-lo.

Obrigado por qualquer informação

    
por CheeseConQueso 01.02.2012 / 02:38

2 respostas

1

Bem, dada uma senha de 6 caracteres com az, AZ, 0-9 e caracteres especiais (por razões de argumentação, usaremos os encontrados acima dos números em um teclado qwerty), você verá 139.314.069.504 combinações possíveis . Isso é mais de 4.000 anos para quebrar @ 1 / seg. Até mesmo uma senha de 5 caracteres e números apenas é 916.132.832 combinações e ~ 29 anos para quebrar @ 1 / seg.

Suponho que você poderia ter um grupo de computadores tentando ao mesmo tempo, mas quantas máquinas você vai usar para dividir a carga de trabalho?

O que é mais provável é encontrar outro caminho; isso geralmente é uma injeção de SQL ou um erro de verificação que permite acesso direto ou circular ao banco de dados para que você possa descartar o hash de senha (presumível) ou a senha direta. Então, é muito mais fácil ter uma tabela de consulta ou algoritmo que decompõe o hash.

Responda à parte, com relação ao seu comentário:

I am merely trying to prove a point to someone who thinks that developing his own login script is better than implementing a package that has already covered these "hacking" prevention issues.

Há algo a ser dito para escrever o seu; experiência, triunfo & confiança (entre outros). Não me entenda mal, como um cara de software eu aprendi a apreciar bibliotecas que os outros escreveram, mas se eu nunca escrevi minha própria classe String eu não acho que teria tanto apreço pelo tipo de dados (nem tanto quanto compreensão sobre gerenciamento de memória). Com isto dito, se este é um ambiente de produção eu concordo com você e uma biblioteca "profissional" provavelmente deveria ser usada.

    
por 01.02.2012 / 03:32
0
Que tal escrever um pequeno script que gera todas as permutações possíveis de senha (ou usa um dicionário) e gera uma instância do WGET (com limites, é claro, para evitar matar o sistema com milhões de processos)?

Por ter vários exemplos de WGET sendo executados em paralelo, o tempo necessário para encontrá-lo será drasticamente reduzido (Brad mencionou 1 / s, mas, dessa forma, você tem 10, 100 ou 1.000 / seg, limitado apenas pela Internet conexão).

A chave do curso será no formato de fornecer o nome de usuário / senha para a página. Você disse POST / GET no título, mas me pergunto se isso está correto (a maioria dos sites usa apenas um; usar os dois seria inútil).

    
por 01.02.2012 / 03:50