mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 14:40:37 +00:00
229 lines
18 KiB
Markdown
229 lines
18 KiB
Markdown
# Скидання/Забутий пароль обхід
|
||
|
||
{% hint style="success" %}
|
||
Вивчайте та практикуйте AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
Вивчайте та практикуйте GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
||
<details>
|
||
|
||
<summary>Підтримайте HackTricks</summary>
|
||
|
||
* Перевірте [**плани підписки**](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.
|
||
|
||
</details>
|
||
{% endhint %}
|
||
|
||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
Приєднуйтесь до [**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)
|
||
|
||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
Приєднуйтесь до [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) сервера, щоб спілкуватися з досвідченими хакерами та мисливцями за помилками!
|
||
|
||
**Інсайти з хакінгу**\
|
||
Залучайтеся до контенту, який занурюється в захоплення та виклики хакінгу
|
||
|
||
**Новини про хакінг у реальному часі**\
|
||
Слідкуйте за швидкоплинним світом хакінгу через новини та інсайти в реальному часі
|
||
|
||
**Останні оголошення**\
|
||
Будьте в курсі нових винагород за помилки та важливих оновлень платформ
|
||
|
||
**Приєднуйтесь до нас на** [**Discord**](https://discord.com/invite/N3FrSbmwdy) і почніть співпрацювати з провідними хакерами вже сьогодні!
|
||
|
||
{% hint style="success" %}
|
||
Вчіться та практикуйте хакінг AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
Вчіться та практикуйте хакінг GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
||
<details>
|
||
|
||
<summary>Підтримка HackTricks</summary>
|
||
|
||
* Перевірте [**плани підписки**](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.
|
||
|
||
</details>
|
||
{% endhint %}
|