# Скидання/Забутий пароль обхід
{% hint style="success" %}
Вивчайте та практикуйте AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Вивчайте та практикуйте GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Підтримайте HackTricks
* Перевірте [**плани підписки**](https://github.com/sponsors/carlospolop)!
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Діліться хакерськими трюками, надсилаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на GitHub.
{% endhint %}
Приєднуйтесь до [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) сервера, щоб спілкуватися з досвідченими хакерами та шукачами вразливостей!
**Хакерські інсайти**\
Залучайтеся до контенту, який занурюється в захоплення та виклики хакерства
**Новини хакерства в реальному часі**\
Будьте в курсі швидкоплинного світу хакерства через новини та інсайти в реальному часі
**Останні оголошення**\
Будьте в курсі нових програм винагород за вразливості та важливих оновлень платформ
**Приєднуйтесь до нас на** [**Discord**](https://discord.com/invite/N3FrSbmwdy) і почніть співпрацювати з провідними хакерами вже сьогодні!
## **Витік токена скидання пароля через реферер**
* Заголовок HTTP referer може витікати токен скидання пароля, якщо він включений в URL. Це може статися, коли користувач натискає на посилання стороннього веб-сайту після запиту на скидання пароля.
* **Вплив**: Потенційне захоплення облікового запису через атаки Cross-Site Request Forgery (CSRF).
* **Експлуатація**: Щоб перевірити, чи витікає токен скидання пароля в заголовку referer, **запросіть скидання пароля** на вашу електронну адресу та **натисніть на посилання для скидання**, яке надано. **Не змінюйте свій пароль** відразу. Натомість, **перейдіть на сторонній веб-сайт** (наприклад, Facebook або Twitter), **перехоплюючи запити за допомогою Burp Suite**. Перевірте запити, щоб дізнатися, чи **заголовок referer містить токен скидання пароля**, оскільки це може розкрити чутливу інформацію третім особам.
* **Посилання**:
* [HackerOne Report 342693](https://hackerone.com/reports/342693)
* [HackerOne Report 272379](https://hackerone.com/reports/272379)
* [Стаття про витік токена скидання пароля](https://medium.com/@rubiojhayz1234/toyotas-password-reset-token-and-email-address-leak-via-referer-header-b0ede6507c6a)
## **Отруєння скидання пароля**
* Зловмисники можуть маніпулювати заголовком Host під час запитів на скидання пароля, щоб вказати посилання для скидання на шкідливий сайт.
* **Вплив**: Призводить до потенційного захоплення облікового запису шляхом витоку токенів скидання зловмисникам.
* **Кроки пом'якшення**:
* Перевірте заголовок Host на відповідність білому списку дозволених доменів.
* Використовуйте безпечні, серверні методи для генерації абсолютних URL.
* **Патч**: Використовуйте `$_SERVER['SERVER_NAME']` для створення URL скидання пароля замість `$_SERVER['HTTP_HOST']`.
* **Посилання**:
* [Стаття Acunetix про отруєння скидання пароля](https://www.acunetix.com/blog/articles/password-reset-poisoning/)
## **Скидання пароля шляхом маніпуляції параметром електронної пошти**
Зловмисники можуть маніпулювати запитом на скидання пароля, додаючи додаткові параметри електронної пошти, щоб відвести посилання для скидання.
* Додайте електронну пошту зловмисника як другий параметр, використовуючи &
```php
POST /resetPassword
[...]
email=victim@email.com&email=attacker@email.com
```
* Додайте електронну пошту атакуючого як другий параметр, використовуючи %20
```php
POST /resetPassword
[...]
email=victim@email.com%20email=attacker@email.com
```
* Додайте електронну пошту атакуючого як другий параметр, використовуючи |
```php
POST /resetPassword
[...]
email=victim@email.com|email=attacker@email.com
```
* Додайте електронну пошту атакуючого як другий параметр, використовуючи cc
```php
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dcc:attacker@mail.tld"
```
* Додати електронну пошту атакуючого як другий параметр, використовуючи bcc
```php
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dbcc:attacker@mail.tld"
```
* Додайте електронну пошту атакуючого як другий параметр, використовуючи ,
```php
POST /resetPassword
[...]
email="victim@mail.tld",email="attacker@mail.tld"
```
* Додайте електронну пошту атакуючого як другий параметр у масиві json
```php
POST /resetPassword
[...]
{"email":["victim@mail.tld","atracker@mail.tld"]}
```
* **Кроки пом'якшення**:
* Правильно аналізуйте та перевіряйте параметри електронної пошти на стороні сервера.
* Використовуйте підготовлені запити або параметризовані запити для запобігання атакам ін'єкцій.
* **Посилання**:
* [https://medium.com/@0xankush/readme-com-account-takeover-bugbounty-fulldisclosure-a36ddbe915be](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://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](https://twitter.com/HusseiN98D/status/1254888748216655872)
## **Зміна електронної пошти та пароля будь-якого користувача через параметри API**
* Зловмисники можуть змінювати параметри електронної пошти та пароля в запитах API, щоб змінити облікові дані акаунта.
```php
POST /api/changepass
[...]
("form": {"email":"victim@email.tld","password":"12345678"})
```
* **Кроки пом'якшення**:
* Забезпечте сувору перевірку параметрів та аутентифікаційні перевірки.
* Реалізуйте надійне ведення журналу та моніторинг для виявлення та реагування на підозрілі дії.
* **Посилання**:
* [Повне захоплення облікового запису через маніпуляцію параметрами API](https://medium.com/@adeshkolte/full-account-takeover-changing-email-and-password-of-any-user-through-api-parameters-3d527ab27240)
## **Відсутність обмеження швидкості: Email бомбардування**
* Відсутність обмеження швидкості на запити скидання пароля може призвести до бомбардування електронною поштою, переповнюючи користувача електронними листами для скидання.
* **Кроки пом'якшення**:
* Реалізуйте обмеження швидкості на основі IP-адреси або облікового запису користувача.
* Використовуйте CAPTCHA для запобігання автоматизованому зловживанню.
* **Посилання**:
* [HackerOne Звіт 280534](https://hackerone.com/reports/280534)
## **Визначте, як генерується токен для скидання пароля**
* Розуміння шаблону або методу генерації токенів може призвести до прогнозування або брутфорсингу токенів. Деякі варіанти:
* На основі часу
* На основі UserID
* На основі електронної пошти користувача
* На основі імені та прізвища
* На основі дати народження
* На основі криптографії
* **Кроки пом'якшення**:
* Використовуйте надійні, криптографічні методи для генерації токенів.
* Забезпечте достатню випадковість і довжину, щоб запобігти передбачуваності.
* **Інструменти**: Використовуйте Burp Sequencer для аналізу випадковості токенів.
## **Вгадуваний UUID**
* Якщо UUID (версія 1) можна вгадати або передбачити, зловмисники можуть брутфорсити їх для генерації дійсних токенів скидання. Перевірте:
{% content-ref url="uuid-insecurities.md" %}
[uuid-insecurities.md](uuid-insecurities.md)
{% endcontent-ref %}
* **Кроки пом'якшення**:
* Використовуйте GUID версії 4 для випадковості або реалізуйте додаткові заходи безпеки для інших версій.
* **Інструменти**: Використовуйте [guidtool](https://github.com/intruder-io/guidtool) для аналізу та генерації GUID.
## **Маніпуляція відповіддю: Замініть погану відповідь на хорошу**
* Маніпулювання HTTP-відповідями для обходу повідомлень про помилки або обмежень.
* **Кроки пом'якшення**:
* Реалізуйте перевірки на стороні сервера, щоб забезпечити цілісність відповіді.
* Використовуйте безпечні канали зв'язку, такі як HTTPS, щоб запобігти атакам "людина посередині".
* **Посилання**:
* [Критична помилка в живому заході з винагородами за помилки](https://medium.com/@innocenthacker/how-i-found-the-most-critical-bug-in-live-bug-bounty-event-7a88b3aa97b3)
## **Використання простроченого токена**
* Тестування, чи можна все ще використовувати прострочені токени для скидання пароля.
* **Кроки пом'якшення**:
* Реалізуйте суворі політики закінчення терміну дії токенів і перевіряйте термін дії токенів на стороні сервера.
## **Брутфорс токена для скидання пароля**
* Спроба брутфорсити токен скидання, використовуючи інструменти, такі як Burpsuite та IP-Rotator, щоб обійти обмеження швидкості на основі IP.
* **Кроки пом'якшення**:
* Реалізуйте надійні механізми обмеження швидкості та блокування облікових записів.
* Моніторинг підозрілих дій, що вказують на атаки брутфорс.
## **Спробуйте використати свій токен**
* Тестування, чи можна використовувати токен скидання зловмисника разом з електронною поштою жертви.
* **Кроки пом'якшення**:
* Забезпечте, щоб токени були прив'язані до сеансу користувача або інших атрибутів, специфічних для користувача.
## **Недійсність сеансу при виході/скиданні пароля**
* Забезпечення недійсності сеансів, коли користувач виходить або скидає свій пароль.
* **Кроки пом'якшення**:
* Реалізуйте належне управління сеансами, забезпечуючи недійсність усіх сеансів при виході або скиданні пароля.
## **Недійсність сеансу при виході/скиданні пароля**
* Токени скидання повинні мати час закінчення, після якого вони стають недійсними.
* **Кроки пом'якшення**:
* Встановіть розумний час закінчення для токенів скидання та суворо дотримуйтеся його на стороні сервера.
## Посилання
* [https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token](https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token)
Приєднуйтесь до [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) сервера, щоб спілкуватися з досвідченими хакерами та мисливцями за помилками!
**Інсайти з хакінгу**\
Залучайтеся до контенту, який занурюється в захоплення та виклики хакінгу
**Новини про хакінг у реальному часі**\
Слідкуйте за швидкоплинним світом хакінгу через новини та інсайти в реальному часі
**Останні оголошення**\
Будьте в курсі нових винагород за помилки та важливих оновлень платформ
**Приєднуйтесь до нас на** [**Discord**](https://discord.com/invite/N3FrSbmwdy) і почніть співпрацювати з провідними хакерами вже сьогодні!
{% hint style="success" %}
Вчіться та практикуйте хакінг AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Вчіться та практикуйте хакінг GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Підтримка HackTricks
* Перевірте [**плани підписки**](https://github.com/sponsors/carlospolop)!
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте за нами в** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Діліться хакерськими трюками, надсилаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на GitHub.
{% endhint %}