Захоплення облікового запису
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Проблема авторизації
Слід спробувати змінити email облікового запису і ретельно перевірити процес підтвердження. Якщо він виявиться слабким, змініть email на той, що належить жертві, і підтвердіть його.
Проблема нормалізації Unicode
- Обліковий запис цілі
victim@gmail.com - Слід створити обліковий запис, використовуючи Unicode,
наприклад:vićtim@gmail.com
Як пояснюється в this talk, попередню атаку також можна виконати, зловживаючи third party identity providers:
- Create an account in the third party identity with similar email to the victim using some unicode character (
vićtim@company.com). - The third party provider shouldn’t verify the email
- If the identity provider verifies the email, maybe you can attack the domain part like:
victim@ćompany.comand register that domain and hope that the identity provider generates the ascii version of the domain while the victim platform normalize the domain name. - Login via this identity provider in the victim platform who should normalize the unicode character and allow you to access the victim account.
Для детальнішої інформації див. документ про Unicode Normalization:
Повторне використання токена скидання
Якщо цільова система дозволяє повторне використання reset link, слід намагатися знайти більше посилань для скидання за допомогою інструментів, таких як gau, wayback або scan.io.
Перед захопленням облікового запису
- Використайте email жертви для реєстрації на платформі та встановіть пароль (слід спробувати підтвердити обліковий запис, хоча відсутність доступу до пошти жертви може зробити це неможливим).
- Очікуйте, поки жертва зареєструється через OAuth і підтвердить обліковий запис.
- Є надія, що звичайна реєстрація буде підтверджена, що дозволить отримати доступ до облікового запису жертви.
Неправильна конфігурація CORS для захоплення облікового запису
Якщо сторінка містить CORS misconfigurations, ви можете змогти викрасти чутливу інформацію від користувача, щоб захопити його обліковий запис, або змусити його змінити auth-дані з тією самою метою:
CORS - Misconfigurations & Bypass
CSRF для захоплення облікового запису
Якщо сторінка вразлива до CSRF, ви можете змусити користувача змінити свій пароль, email або методи автентифікації, щоб потім отримати доступ до його облікового запису:
CSRF (Cross Site Request Forgery)
XSS для захоплення облікового запису
Якщо ви знаходите XSS в додатку, ви можете викрасти cookies, local storage або інформацію зі сторінки, що може дозволити вам захопити обліковий запис:
- 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
Якщо ви знаходите обмежений XSS або піддомен було захоплено, ви можете маніпулювати cookies (наприклад, фіксуючи їх), щоб спробувати скомпрометувати обліковий запис жертви:
Атака на механізм скидання пароля
Reset/Forgotten Password Bypass
Скидання через контрольні питання, що довіряють іменам користувачів, наданим клієнтом
Якщо процес “update security questions” приймає параметр username, хоча виконавець уже автентифікований, ви можете перезаписати recovery-дані будь-якого облікового запису (включно з адміністраторами), оскільки бекенд зазвичай виконує UPDATE ... WHERE user_name = ? з вашим ненадійним значенням. Схема така:
- Увійдіть під тимчасовим користувачем і перехопіть session cookie.
- Надішліть ім’я користувача жертви та нові відповіді через форму скидання.
- Негайно автентифікуйтесь через endpoint входу за допомогою контрольних питань, використовуючи відповіді, які ви щойно інжектували, щоб успадкувати привілеї жертви.
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
Усе, що захищено контекстом жертви $_SESSION (admin dashboards, небезпечні stream-wrapper features тощо), тепер відкрито без доступу до реальних відповідей.
Перераховані імена користувачів потім можна націлити за допомогою наведеної вище overwrite technique або повторно використати проти допоміжних сервісів (FTP/SSH password spraying).
Response Manipulation
Якщо authentication response можна звести до простого булевого значення — просто спробуйте змінити false на true і перевірте, чи отримаєте доступ.
OAuth to Account takeover
Host Header Injection
- Host header змінюється після ініціації запиту на скидання пароля.
- Заголовок проксі
X-Forwarded-Forзмінюється наattacker.com. - Host, Referrer та Origin заголовки одночасно змінюються на
attacker.com. - Після ініціювання скидання пароля та повторної відправки листа застосовуються всі три вищеописані методи.
Response Manipulation
- Code Manipulation: статусний код змінюється на
200 OK. - Code and Body Manipulation:
- Статусний код змінюється на
200 OK. - Тіло відповіді змінюється на
{"success":true}або на порожній об’єкт{}.
Ці методи маніпуляції ефективні у сценаріях, де JSON використовується для передачі й отримання даних.
Change email of current session
From this report:
- Attacker робить запит на зміну своєї email на нову.
- Attacker отримує посилання для підтвердження зміни email.
- Attacker відправляє victim це посилання, і той клікає його.
- Email victim змінюється на той, який вказав Attacker.
- Атака дозволяє відновити пароль і захопити обліковий запис.
This also happened in this report.
Bypass email verification for Account Takeover
- Attacker входить під attacker@test.com і підтверджує email при реєстрації.
- Attacker змінює підтверджений email на victim@test.com (немає вторинної верифікації при зміні email).
- Тепер сайт дозволяє victim@test.com входити, і ми обійшли перевірку email для victim-користувача.
Old Cookies
As explained in this post, було можливо увійти в акаунт, зберегти cookies як автентифікований користувач, вийти, а потім увійти знову.
При новому логіні, хоча могли бути згенеровані інші cookies, старі знову почали працювати.
Trusted device cookies + batch API leakage
Long-lived device identifiers that gate recovery can be stolen when a batch API lets you copy unreadable subresponses into writable sinks.
- 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
- Завантажте batch URL у прихований
<iframe>, щоб жертва відправила trusted-device cookie; JSON-path reference копіюєmachine_idу attacker-controlled post, навіть якщо OAuth response недоступна для сторінки. - Replay: встановіть stolen device cookie у новій сесії. Recovery тепер вважає браузер trusted, часто відкриваючи слабші “no email/phone” flows (e.g., automated document upload), що дозволяє додати attacker email без пароля або 2FA.
Посилання
- 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
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.


