# Скидання/Забутий пароль обхід {% 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 %}