Account Takeover
Tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Problema de Autorização
O email de uma conta deve ser tentado alterar, e o processo de confirmação deve ser examinado. Se for considerado fraco, o email deve ser alterado para o do alvo pretendido e então confirmado.
Problema de Normalização Unicode
- A conta da vítima pretendida
victim@gmail.com - Deve ser criada uma conta usando Unicode
por exemplo:vićtim@gmail.com
Como explicado em this talk, o ataque anterior também pode ser feito abusando de provedores de identidade de terceiros:
- Crie uma conta no provedor de identidade de terceiros com um e-mail similar ao da vítima usando algum caractere Unicode (
vićtim@company.com). - O provedor de terceiros não deve verificar o e-mail
- Se o provedor de identidade verificar o e-mail, talvez você possa atacar a parte do domínio, por exemplo:
victim@ćompany.come registrar esse domínio e torcer que o provedor de identidade gere a versão ASCII do domínio enquanto a plataforma da vítima normalize o nome do domínio. - Faça login via esse provedor de identidade na plataforma da vítima, que deve normalizar o caractere Unicode e permitir que você acesse a conta da vítima.
For further details, refer to the document on Unicode Normalization:
Reusing Reset Token
Se o sistema alvo permitir que o link de redefinição seja reutilizado, deve-se envidar esforços para encontrar mais links de redefinição usando ferramentas como gau, wayback, ou scan.io.
Pre Account Takeover
- O email da vítima deve ser usado para se registrar na plataforma, e uma senha deve ser definida (deve-se tentar confirmá-la, embora a falta de acesso aos e-mails da vítima possa tornar isso impossível).
- Deve-se aguardar até que a vítima faça signup usando OAuth e confirme a conta.
- Espera-se que o registro regular seja confirmado, permitindo o acesso à conta da vítima.
CORS Misconfiguration to Account Takeover
Se a página contiver CORS misconfigurations, você pode conseguir roubar informações sensíveis do usuário para assumir a conta dele ou fazê-lo alterar informações de autenticação com o mesmo propósito:
CORS - Misconfigurations & Bypass
Csrf to Account Takeover
Se a página for vulnerável a CSRF você pode ser capaz de fazer com que o usuário modifique sua senha, email ou autenticação para que você então possa acessá-la:
CSRF (Cross Site Request Forgery)
XSS to Account Takeover
Se você encontrar um XSS na aplicação, pode conseguir roubar cookies, local storage, ou informações da página web que possam permitir que você assuma a conta:
- Attribute-only reflected payloads on login pages can hook
document.onkeypress, exfiltrate keystrokes throughnew Image().src, and steal credentials without submitting the form. See Attribute-only login XSS behind WAFs for a practical workflow.
Same Origin + Cookies
Se você encontrar um XSS limitado ou um subdomain take over, você pode manipular os cookies (fixá-los, por exemplo) para tentar comprometer a conta da vítima:
Attacking Password Reset Mechanism
Reset/Forgotten Password Bypass
Redefinições por perguntas de segurança que confiam em nomes de usuário fornecidos pelo cliente
Se um fluxo de “update security questions” aceitar um parâmetro username mesmo que o chamador já esteja autenticado, você pode sobrescrever os dados de recuperação de qualquer conta (incluindo admins) porque o backend tipicamente executa UPDATE ... WHERE user_name = ? com seu valor não confiável. O padrão é:
- Faça login com um usuário descartável e capture o cookie de sessão.
- Envie o username da vítima mais novas respostas via o formulário de reset.
- Autentique-se imediatamente através do endpoint de login por perguntas de segurança usando as respostas que você acabou de injetar para herdar os privilégios da vítima.
POST /reset.php HTTP/1.1
Host: file.era.htb
Cookie: PHPSESSID=<low-priv>
Content-Type: application/x-www-form-urlencoded
username=admin_ef01cab31aa&new_answer1=A&new_answer2=B&new_answer3=C
Anything gated by the victim’s $_SESSION context (admin dashboards, dangerous stream-wrapper features, etc.) is now exposed without touching the real answers.
Enumerated usernames can then be targeted via the overwrite technique above or reused against ancillary services (FTP/SSH password spraying).
Response Manipulation
Se a resposta de autenticação puder ser reduzida a um booleano simples, apenas tente mudar false para true e veja se obtém acesso.
OAuth to Account takeover
Host Header Injection
- O header Host é modificado após a iniciação de um pedido de password reset.
- O header proxy
X-Forwarded-Foré alterado paraattacker.com. - Os headers Host, Referrer e Origin são simultaneamente alterados para
attacker.com. - Após iniciar uma password reset e optar por reenviar o e-mail, empregam-se os três métodos acima.
Response Manipulation
- Code Manipulation: O status code é alterado para
200 OK. - Code and Body Manipulation:
- O status code é alterado para
200 OK. - O corpo da resposta é modificado para
{"success":true}ou um objeto vazio{}.
Essas técnicas de manipulação são eficazes em cenários onde JSON é utilizado para transmissão e recepção de dados.
Alterar email da sessão atual
From this report:
- Atacante solicita a alteração do seu email para um novo
- Atacante recebe um link para confirmar a alteração do email
- Atacante envia o link para a vítima, que o clica
- O email da vítima é alterado para o indicado pelo atacante
- O ataque pode recuperar a password e tomar conta da conta
This also happened in this report.
Bypass email verification for Account Takeover
- Atacante faz login com attacker@test.com e verifica o email ao se cadastrar.
- Atacante muda o email verificado para victim@test.com (sem verificação secundária na mudança de email)
- Agora o site permite que victim@test.com faça login e nós contornamos a verificação de email do usuário vítima.
Cookies Antigos
Como explicado neste post, era possível fazer login em uma conta, salvar os cookies como usuário autenticado, fazer logout e então fazer login novamente.
Com o novo login, embora cookies diferentes pudessem ser gerados, os antigos voltavam a funcionar.
Trusted device cookies + batch API leakage
Identificadores de dispositivo de longa duração que controlam a recovery podem ser roubados quando uma batch API permite copiar sub-responses não legíveis para sinks graváveis.
- Identify a trusted-device cookie (
SameSite=None, long-lived) used to relax recovery checks. - Find a first-party endpoint that returns that device ID in JSON (e.g., an OAuth
codeexchange returningmachine_id) but is not readable cross-origin. - Use a batch/chained API that allows referencing earlier subresponses (
{result=name:$.path}) and writing them to an attacker-visible sink (page post, upload-by-URL, etc.). Example with Facebook Graph API:
POST https://graph.facebook.com/
batch=[
{"method":"post","omit_response_on_success":0,"relative_url":"/oauth/access_token?client_id=APP_ID%26redirect_uri=REDIRECT_URI","body":"code=SINGLE_USE_CODE","name":"leaker"},
{"method":"post","relative_url":"PAGE_ID/posts","body":"message={result=leaker:$.machine_id}"}
]
access_token=PAGE_ACCESS_TOKEN&method=post
- Carregue a batch URL em um
<iframe>oculto para que a vítima envie o trusted-device cookie; a referência JSON-path copiamachine_idpara o post controlado pelo atacante mesmo que a resposta OAuth seja ilegível para a página. - Replay: defina o stolen device cookie em uma nova sessão. O Recovery agora trata o navegador como confiável, frequentemente expondo fluxos mais fracos “no email/phone” (e.g., automated document upload) para adicionar um email do atacante sem a password ou 2FA.
Referências
- https://blog.hackcommander.com/posts/2025/12/28/turning-a-harmless-xss-behind-a-waf-into-a-realistic-phishing-vector/
- https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050
- https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea
- 0xdf – HTB Era: security-question IDOR & username oracle
- Steal DATR Cookie
Tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.


