Account Takeover
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 на адресу цільової жертви та підтвердити її.
Unicode Normalization Issue
- Обліковий запис цільової жертви
victim@gmail.com - Потрібно створити обліковий запис, використовуючи Unicode,
наприклад:vićtim@gmail.com
Як пояснюється в this talk, попередню атаку також можна здійснити, зловживаючи сторонніми identity providers:
- Створіть обліковий запис у third party identity з email, схожим на email жертви, використовуючи якийсь unicode-символ (
vićtim@company.com). - Провайдер третьої сторони не повинен верифікувати email.
- Якщо identity provider верифікує email, можливо ви зможете атакувати частину домену, наприклад:
victim@ćompany.com, зареєструвати такий домен і сподіватися, що identity provider згенерує ascii-версію домену, тоді як платформа жертви нормалізує ім’я домену. - Увійдіть через цього identity provider на платформі жертви, яка має нормалізувати unicode-символ і дозволити вам доступ до облікового запису жертви.
Для додаткових деталей дивіться документ про Unicode Normalization:
Reusing Reset Token
Якщо цільова система дозволяє повторно використовувати reset link, слід докласти зусиль, щоб знайти додаткові reset links, використовуючи інструменти на зразок gau, wayback, або scan.io.
Pre Account Takeover
- Використайте email жертви для реєстрації на платформі і встановіть пароль (слід спробувати підтвердити його, хоча відсутність доступу до пошти жертви може зробити це неможливим).
- Чекати, поки жертва зареєструється через OAuth і підтвердить обліковий запис.
- Сподіваються, що звична реєстрація буде підтверджена, що дозволить отримати доступ до облікового запису жертви.
CORS Misconfiguration to Account Takeover
Якщо сторінка містить CORS misconfigurations, ви можете вкрасти чутливу інформацію у користувача, щоб захопити його обліковий запис або змусити його змінити auth-інформацію з тією ж метою:
CORS - Misconfigurations & Bypass
Csrf to Account Takeover
Якщо сторінка вразлива до CSRF, ви можете змусити користувача змінити свій пароль, email або метод автентифікації, щоб потім отримати до нього доступ:
CSRF (Cross Site Request Forgery)
XSS to Account Takeover
Якщо ви знайдете XSS в додатку, ви можете вкрасти cookies, local storage або інформацію зі сторінки, що дозволить захопити обліковий запис:
Same Origin + Cookies
Якщо ви знайдете обмежений XSS або зможете виконати subdomain take over, можна маніпулювати cookies (наприклад, фіксувати їх), щоб спробувати скомпрометувати обліковий запис жертви:
Attacking Password Reset Mechanism
Reset/Forgotten Password Bypass
Security-question resets that trust client-supplied usernames
Якщо потік “update security questions” приймає параметр username, навіть коли виклик уже автентифікований, ви можете перезаписати дані відновлення будь-якого облікового запису (включно з адміністраторами), оскільки бекенд зазвичай виконує UPDATE ... WHERE user_name = ? з вашим недовіреним значенням. Патерн:
- Увійдіть під тимчасовим користувачем і захопіть session cookie.
- Надішліть username жертви разом із новими відповідями через форму скидання.
- Негайно аутентифікуйтесь через endpoint входу за допомогою security-question, використовуючи щойно інжектовані відповіді, щоб успадкувати привілеї жертви.
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
If the authentication response could be reduced to a simple boolean just try to change false to true and see if you get any access.
OAuth to Account takeover
Host Header Injection
- The Host header is modified following a password reset request initiation.
- The
X-Forwarded-Forproxy header is altered toattacker.com. - The Host, Referrer, and Origin headers are simultaneously changed to
attacker.com. - After initiating a password reset and then opting to resend the mail, all three of the aforementioned methods are employed.
Response Manipulation
- Code Manipulation: The status code is altered to
200 OK. - Code and Body Manipulation:
- The status code is changed to
200 OK. - The response body is modified to
{"success":true}or an empty object{}.
These manipulation techniques are effective in scenarios where JSON is utilized for data transmission and receipt.
Change email of current session
З цього звіту:
- Attacker requests to change his email with a new one
- Attacker receives a link to confirm the change of the email
- Attacker send the victim the link so he clicks it
- The victims email is changed to the one indicated by the attacker
- The attack can recover the password and take over the account
This also happened in this report.
Bypass email verification for Account Takeover
- Attacker logins with attacker@test.com and verifies email upon signup.
- Attacker changes verified email to victim@test.com (no secondary verification on email change)
- Now the website allows victim@test.com to login and we have bypassed email verification of victim user.
Old Cookies
As explained in this post, it was possible to login into an account, save the cookies as an authenticated user, logout, and then login again.
With the new login, although different cookies might be generated the old ones became to work again.
References
- 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
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.
HackTricks

