Acesso sem garantia Hacks em aplicações Web e como evitá-los
Muitos sites exigem que os usuários login antes que possam fazer qualquer coisa com o aplicativo. Surpreendentemente, estes podem ser uma grande ajuda para hackers. Estes mecanismos de login muitas vezes não lidar com IDs de usuário ou senhas incorretos graciosamente. Eles muitas vezes divulgar demasiada informação que um invasor pode usar para coletar IDs de usuário e senhas válidas.
Para testar mecanismos de login não garantidos, navegue para sua aplicação e log in
Usando um ID de usuário inválido com uma senha válida
Usando um ID de usuário válido com uma senha inválida
Usando um ID de usuário inválido e senha inválida
Depois de inserir essas informações, o aplicativo web provavelmente irá responder com uma mensagem semelhante à Seu ID de usuário é inválido ou Sua senha é inválida. O aplicativo da Web pode retornar uma mensagem de erro genérico, como Seu ID de usuário e senha é inválida e, ao mesmo tempo, retornar diferentes códigos de erro na URL para IDs de usuário e senhas inválidos inválidos.
Em ambos os casos, esta é uma má notícia porque o aplicativo está lhe dizendo não só que parâmetro é inválido, mas também qual é válido. Isto significa que os invasores mal-intencionados sabem agora uma senha boa nome de usuário ou - a sua carga de trabalho foi cortado pela metade! Se eles sabem o nome de usuário, eles podem simplesmente escrever um script para automatizar o processo de quebra de senha, e vice-versa.
Você também deve ter o seu teste de login para o próximo nível, usando uma ferramenta de login web rachaduras, tais como Brutus. Brutus é uma ferramenta muito simples que pode ser usado para quebrar tanto mecanismos de autenticação baseada em formulário HTTP e usando ambos dicionário e de força bruta ataques.
Como acontece com qualquer tipo de teste de senha, esta pode ser uma tarefa longa e árdua, e você corre o risco de bloqueio de contas de usuário. Prossiga com cuidado.
Uma alternativa - e melhor mantidos - ferramenta para quebrar senhas da Web é THC-Hydra.
A maioria dos scanners de vulnerabilidade web comercial tem crackers de senhas web baseados em dicionários decentes mas nenhum pode fazer verdadeiro teste de força bruta como Brutus lata. Seu sucesso de quebra de senha é altamente dependente de suas listas de dicionário. Aqui estão alguns sites populares que abrigam arquivos de dicionário e outras listas de palavras variado:
Você pode não precisar de uma ferramenta de quebra de senha em todos, porque muitos sistemas web front-end, tais como sistemas de gerenciamento de armazenamento e sistemas de controle de acesso físico e vídeo IP, basta ter as senhas que veio sobre eles. Essas senhas padrão são normalmente # 147 por senha, # 148- # 147 admin, # 148- ou nada. Algumas senhas são ainda embutida exatamente no código-fonte da página de login.
Você pode implementar as seguintes medidas preventivas para evitar que pessoas de atacar sistemas de login fracos em suas aplicações web:
Quaisquer erros de login que são retornados para o usuário final deve ser o mais genérico possível, dizendo algo similar a Seu ID de usuário e senha é inválida.
A aplicação nunca deve retornar códigos de erro na URL que diferenciar entre um ID de usuário inválido e uma senha inválida.
Se uma mensagem de URL deve ser devolvido, a aplicação deve mantê-lo o mais genérico possível. Aqui está um exemplo:
your_web_app.com/login.cgi?success=false
Esta mensagem URL pode não ser conveniente para o usuário, mas ajuda a esconder o mecanismo e as ações por trás das cenas do atacante.
Use CAPTCHA (também reCAPTCHA) ou formulários de login web para ajudar a impedir tentativas de quebra de senha.
Empregam um mecanismo de bloqueio de intrusão no seu servidor web ou dentro de suas aplicações web para bloquear contas de usuário após 10-15 tentativas falhas de login. Esta tarefa pode ser tratada através de rastreamento de sessão ou através de uma aplicação web de terceiros firewall add-on.
Verificar e alterar as senhas padrão do fornecedor para algo que é fácil de lembrar e difícil de roer.