12 KiB
Bypass de Redefinição/Recuperação de Senha
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras formas de apoiar o HackTricks:
- Se você deseja ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF Confira os PLANOS DE ASSINATURA!
- Adquira o swag oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para os HackTricks e HackTricks Cloud repositórios do github.
Junte-se ao servidor HackenProof Discord para se comunicar com hackers experientes e caçadores de recompensas por bugs!
Percepções de Hacking
Envolver-se com conteúdo que mergulha na emoção e desafios do hacking
Notícias de Hacking em Tempo Real
Mantenha-se atualizado com o mundo acelerado do hacking através de notícias e percepções em tempo real
Últimos Anúncios
Fique informado sobre os mais recentes programas de recompensas por bugs lançados e atualizações cruciais na plataforma
Junte-se a nós no Discord e comece a colaborar com os melhores hackers hoje!
Vazamento de Token de Redefinição de Senha via Referer
- O cabeçalho HTTP referer pode vazar o token de redefinição de senha se estiver incluído na URL. Isso pode ocorrer quando um usuário clica em um link de um site de terceiros após solicitar uma redefinição de senha.
- Impacto: Possível tomada de conta da conta via ataques de Cross-Site Request Forgery (CSRF).
- Exploração: Para verificar se um token de redefinição de senha está vazando no cabeçalho referer, solicite uma redefinição de senha para o seu endereço de e-mail e clique no link de redefinição fornecido. Não altere sua senha imediatamente. Em vez disso, navegue para um site de terceiros (como Facebook ou Twitter) enquanto intercepta as solicitações usando o Burp Suite. Inspecione as solicitações para ver se o cabeçalho referer contém o token de redefinição de senha, pois isso poderia expor informações sensíveis a terceiros.
- Referências:
- Relatório HackerOne 342693
- Relatório HackerOne 272379
- Artigo de Vazamento de Token de Redefinição de Senha
Envenenamento de Redefinição de Senha
- Os atacantes podem manipular o cabeçalho Host durante as solicitações de redefinição de senha para apontar o link de redefinição para um site malicioso.
- Impacto: Leva à possível tomada de conta vazando tokens de redefinição para os atacantes.
- Passos de Mitigação:
- Valide o cabeçalho Host contra uma lista branca de domínios permitidos.
- Use métodos seguros e do lado do servidor para gerar URLs absolutos.
- Correção: Use
$_SERVER['SERVER_NAME']
para construir URLs de redefinição de senha em vez de$_SERVER['HTTP_HOST']
. - Referências:
- Artigo da Acunetix sobre Envenenamento de Redefinição de Senha
Redefinição de Senha Manipulando o Parâmetro de E-mail
Os atacantes podem manipular a solicitação de redefinição de senha adicionando parâmetros de e-mail adicionais para desviar o link de redefinição.
- Adicione o e-mail do atacante como segundo parâmetro usando &
POST /resetPassword
[...]
email=victim@email.com&email=attacker@email.com
- Adicione o email do atacante como segundo parâmetro usando %20
POST /resetPassword
[...]
email=victim@email.com%20email=attacker@email.com
- Adicione o email do atacante como segundo parâmetro usando |
POST /resetPassword
[...]
email=victim@email.com|email=attacker@email.com
- Adicione o email do atacante como segundo parâmetro usando cc
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dcc:attacker@mail.tld"
- Adicione o email do atacante como segundo parâmetro usando bcc
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dbcc:attacker@mail.tld"
- Adicione o email do atacante como segundo parâmetro usando ,
POST /resetPassword
[...]
email="victim@mail.tld",email="attacker@mail.tld"
- Adicione o email do atacante como segundo parâmetro no array json
POST /resetPassword
[...]
{"email":["victim@mail.tld","atracker@mail.tld"]}
- Passos de Mitigação:
- Analisar e validar corretamente os parâmetros de email no servidor.
- Utilizar declarações preparadas ou consultas parametrizadas para prevenir ataques de injeção.
- Referências:
- https://medium.com/@0xankush/readme-com-account-takeover-bugbounty-fulldisclosure-a36ddbe915be
- https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/
- https://twitter.com/HusseiN98D/status/1254888748216655872
Alterando Email e Senha de Qualquer Usuário através dos Parâmetros da API
- Os atacantes podem modificar os parâmetros de email e senha em solicitações de API para alterar as credenciais da conta.
POST /api/changepass
[...]
("form": {"email":"victim@email.tld","password":"12345678"})
- Passos de Mitigação:
- Garantir validação rigorosa de parâmetros e verificações de autenticação.
- Implementar registro e monitoramento robustos para detectar e responder a atividades suspeitas.
- Referência:
- Assumir Controle Total da Conta via Manipulação de Parâmetros da API
Sem Limite de Taxa: Bombardeio de E-mails
- A falta de limitação de taxa em solicitações de redefinição de senha pode levar a um bombardeio de e-mails, sobrecarregando o usuário com e-mails de redefinição.
- Passos de Mitigação:
- Implementar limitação de taxa com base no endereço IP ou na conta do usuário.
- Utilizar desafios CAPTCHA para prevenir abusos automatizados.
- Referências:
- Relatório HackerOne 280534
Descobrir Como o Token de Redefinição de Senha é Gerado
- Compreender o padrão ou método por trás da geração de tokens pode levar à previsão ou força bruta de tokens. Algumas opções:
- Com base no Timestamp
- Com base no ID do Usuário
- Com base no e-mail do Usuário
- Com base no Nome e Sobrenome
- Com base na Data de Nascimento
- Com base em Criptografia
- Passos de Mitigação:
- Utilizar métodos criptográficos fortes para a geração de tokens.
- Garantir aleatoriedade e comprimento suficientes para evitar previsibilidade.
- Ferramentas: Utilizar o Burp Sequencer para analisar a aleatoriedade dos tokens.
UUID Adivinhável
- Se os UUIDs (versão 1) forem adivinháveis ou previsíveis, os atacantes podem forçá-los para gerar tokens de redefinição válidos. Verificar:
{% content-ref url="uuid-insecurities.md" %} uuid-insecurities.md {% endcontent-ref %}
- Passos de Mitigação:
- Utilizar GUID versão 4 para aleatoriedade ou implementar medidas de segurança adicionais para outras versões.
- Ferramentas: Utilizar guidtool para analisar e gerar GUIDs.
Manipulação de Resposta: Substituir Resposta Ruim por Boa
- Manipular respostas HTTP para contornar mensagens de erro ou restrições.
- Passos de Mitigação:
- Implementar verificações no lado do servidor para garantir a integridade da resposta.
- Utilizar canais de comunicação seguros como HTTPS para prevenir ataques de homem no meio.
- Referência:
- Bug Crítico em Evento de Caça ao Bug ao Vivo
Utilizando Token Expirado
- Testar se tokens expirados ainda podem ser usados para redefinição de senha.
- Passos de Mitigação:
- Implementar políticas estritas de expiração de token e validar a expiração do token no lado do servidor.
Força Bruta no Token de Redefinição de Senha
- Tentativa de força bruta no token de redefinição usando ferramentas como Burpsuite e IP-Rotator para contornar limites de taxa baseados em IP.
- Passos de Mitigação:
- Implementar mecanismos robustos de limitação de taxa e bloqueio de conta.
- Monitorar atividades suspeitas indicativas de ataques de força bruta.
Tentar Usar Seu Token
- Testar se o token de redefinição de senha de um atacante pode ser usado em conjunto com o e-mail da vítima.
- Passos de Mitigação:
- Garantir que os tokens estejam vinculados à sessão do usuário ou a outros atributos específicos do usuário.
Invalidação de Sessão em Logout/Redefinição de Senha
- Garantir que as sessões sejam invalidadas quando um usuário faz logout ou redefine sua senha.
- Passos de Mitigação:
- Implementar gerenciamento adequado de sessões, garantindo que todas as sessões sejam invalidadas ao fazer logout ou redefinir a senha.
Invalidação de Sessão em Logout/Redefinição de Senha
- Os tokens de redefinição devem ter um tempo de expiração após o qual se tornam inválidos.
- Passos de Mitigação:
- Definir um tempo de expiração razoável para os tokens de redefinição e aplicá-lo estritamente no lado do servidor.
Referências
Junte-se ao servidor HackenProof Discord para se comunicar com hackers experientes e caçadores de bugs!
Percepções de Hacking
Engaje-se com conteúdo que explora a emoção e os desafios do hacking
Notícias de Hacking em Tempo Real
Mantenha-se atualizado com o mundo acelerado do hacking através de notícias e insights em tempo real
Últimos Anúncios
Fique informado sobre os novos programas de recompensas por bugs lançados e atualizações cruciais na plataforma
Junte-se a nós no Discord e comece a colaborar com os melhores hackers hoje!
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras maneiras de apoiar o HackTricks:
- Se você deseja ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF Confira os PLANOS DE ASSINATURA!
- Adquira o swag oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para o HackTricks e HackTricks Cloud github repos.