hacktricks/pentesting-web/reset-password.md

18 KiB
Raw Blame History

Скидання/Забутий пароль обхід

{% hint style="success" %} Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks
{% endhint %}

Приєднуйтесь до HackenProof Discord сервера, щоб спілкуватися з досвідченими хакерами та шукачами вразливостей!

Хакерські інсайти
Залучайтеся до контенту, який занурюється в захоплення та виклики хакерства

Новини хакерства в реальному часі
Будьте в курсі швидкоплинного світу хакерства через новини та інсайти в реальному часі

Останні оголошення
Будьте в курсі нових програм винагород за вразливості та важливих оновлень платформ

Приєднуйтесь до нас на Discord і почніть співпрацювати з провідними хакерами вже сьогодні!

Витік токена скидання пароля через реферер

  • Заголовок HTTP referer може витікати токен скидання пароля, якщо він включений в URL. Це може статися, коли користувач натискає на посилання стороннього веб-сайту після запиту на скидання пароля.
  • Вплив: Потенційне захоплення облікового запису через атаки Cross-Site Request Forgery (CSRF).
  • Експлуатація: Щоб перевірити, чи витікає токен скидання пароля в заголовку referer, запросіть скидання пароля на вашу електронну адресу та натисніть на посилання для скидання, яке надано. Не змінюйте свій пароль відразу. Натомість, перейдіть на сторонній веб-сайт (наприклад, Facebook або Twitter), перехоплюючи запити за допомогою Burp Suite. Перевірте запити, щоб дізнатися, чи заголовок referer містить токен скидання пароля, оскільки це може розкрити чутливу інформацію третім особам.
  • Посилання:
  • HackerOne Report 342693
  • HackerOne Report 272379
  • Стаття про витік токена скидання пароля

Отруєння скидання пароля

  • Зловмисники можуть маніпулювати заголовком Host під час запитів на скидання пароля, щоб вказати посилання для скидання на шкідливий сайт.
  • Вплив: Призводить до потенційного захоплення облікового запису шляхом витоку токенів скидання зловмисникам.
  • Кроки пом'якшення:
  • Перевірте заголовок Host на відповідність білому списку дозволених доменів.
  • Використовуйте безпечні, серверні методи для генерації абсолютних URL.
  • Патч: Використовуйте $_SERVER['SERVER_NAME'] для створення URL скидання пароля замість $_SERVER['HTTP_HOST'].
  • Посилання:
  • Стаття Acunetix про отруєння скидання пароля

Скидання пароля шляхом маніпуляції параметром електронної пошти

Зловмисники можуть маніпулювати запитом на скидання пароля, додаючи додаткові параметри електронної пошти, щоб відвести посилання для скидання.

  • Додайте електронну пошту зловмисника як другий параметр, використовуючи &
POST /resetPassword
[...]
email=victim@email.com&email=attacker@email.com
  • Додайте електронну пошту атакуючого як другий параметр, використовуючи %20
POST /resetPassword
[...]
email=victim@email.com%20email=attacker@email.com
  • Додайте електронну пошту атакуючого як другий параметр, використовуючи |
POST /resetPassword
[...]
email=victim@email.com|email=attacker@email.com
  • Додайте електронну пошту атакуючого як другий параметр, використовуючи cc
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dcc:attacker@mail.tld"
  • Додати електронну пошту атакуючого як другий параметр, використовуючи bcc
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dbcc:attacker@mail.tld"
  • Додайте електронну пошту атакуючого як другий параметр, використовуючи ,
POST /resetPassword
[...]
email="victim@mail.tld",email="attacker@mail.tld"
  • Додайте електронну пошту атакуючого як другий параметр у масиві json
POST /resetPassword
[...]
{"email":["victim@mail.tld","atracker@mail.tld"]}

Зміна електронної пошти та пароля будь-якого користувача через параметри API

  • Зловмисники можуть змінювати параметри електронної пошти та пароля в запитах API, щоб змінити облікові дані акаунта.
POST /api/changepass
[...]
("form": {"email":"victim@email.tld","password":"12345678"})

Відсутність обмеження швидкості: Email бомбардування

  • Відсутність обмеження швидкості на запити скидання пароля може призвести до бомбардування електронною поштою, переповнюючи користувача електронними листами для скидання.
  • Кроки пом'якшення:
  • Реалізуйте обмеження швидкості на основі IP-адреси або облікового запису користувача.
  • Використовуйте CAPTCHA для запобігання автоматизованому зловживанню.
  • Посилання:
  • HackerOne Звіт 280534

Визначте, як генерується токен для скидання пароля

  • Розуміння шаблону або методу генерації токенів може призвести до прогнозування або брутфорсингу токенів. Деякі варіанти:
  • На основі часу
  • На основі UserID
  • На основі електронної пошти користувача
  • На основі імені та прізвища
  • На основі дати народження
  • На основі криптографії
  • Кроки пом'якшення:
  • Використовуйте надійні, криптографічні методи для генерації токенів.
  • Забезпечте достатню випадковість і довжину, щоб запобігти передбачуваності.
  • Інструменти: Використовуйте Burp Sequencer для аналізу випадковості токенів.

Вгадуваний UUID

  • Якщо UUID (версія 1) можна вгадати або передбачити, зловмисники можуть брутфорсити їх для генерації дійсних токенів скидання. Перевірте:

{% content-ref url="uuid-insecurities.md" %} uuid-insecurities.md {% endcontent-ref %}

  • Кроки пом'якшення:
  • Використовуйте GUID версії 4 для випадковості або реалізуйте додаткові заходи безпеки для інших версій.
  • Інструменти: Використовуйте guidtool для аналізу та генерації GUID.

Маніпуляція відповіддю: Замініть погану відповідь на хорошу

  • Маніпулювання HTTP-відповідями для обходу повідомлень про помилки або обмежень.
  • Кроки пом'якшення:
  • Реалізуйте перевірки на стороні сервера, щоб забезпечити цілісність відповіді.
  • Використовуйте безпечні канали зв'язку, такі як HTTPS, щоб запобігти атакам "людина посередині".
  • Посилання:
  • Критична помилка в живому заході з винагородами за помилки

Використання простроченого токена

  • Тестування, чи можна все ще використовувати прострочені токени для скидання пароля.
  • Кроки пом'якшення:
  • Реалізуйте суворі політики закінчення терміну дії токенів і перевіряйте термін дії токенів на стороні сервера.

Брутфорс токена для скидання пароля

  • Спроба брутфорсити токен скидання, використовуючи інструменти, такі як Burpsuite та IP-Rotator, щоб обійти обмеження швидкості на основі IP.
  • Кроки пом'якшення:
  • Реалізуйте надійні механізми обмеження швидкості та блокування облікових записів.
  • Моніторинг підозрілих дій, що вказують на атаки брутфорс.

Спробуйте використати свій токен

  • Тестування, чи можна використовувати токен скидання зловмисника разом з електронною поштою жертви.
  • Кроки пом'якшення:
  • Забезпечте, щоб токени були прив'язані до сеансу користувача або інших атрибутів, специфічних для користувача.

Недійсність сеансу при виході/скиданні пароля

  • Забезпечення недійсності сеансів, коли користувач виходить або скидає свій пароль.
  • Кроки пом'якшення:
  • Реалізуйте належне управління сеансами, забезпечуючи недійсність усіх сеансів при виході або скиданні пароля.

Недійсність сеансу при виході/скиданні пароля

  • Токени скидання повинні мати час закінчення, після якого вони стають недійсними.
  • Кроки пом'якшення:
  • Встановіть розумний час закінчення для токенів скидання та суворо дотримуйтеся його на стороні сервера.

Посилання

Приєднуйтесь до HackenProof Discord сервера, щоб спілкуватися з досвідченими хакерами та мисливцями за помилками!

Інсайти з хакінгу
Залучайтеся до контенту, який занурюється в захоплення та виклики хакінгу

Новини про хакінг у реальному часі
Слідкуйте за швидкоплинним світом хакінгу через новини та інсайти в реальному часі

Останні оголошення
Будьте в курсі нових винагород за помилки та важливих оновлень платформ

Приєднуйтесь до нас на Discord і почніть співпрацювати з провідними хакерами вже сьогодні!

{% hint style="success" %} Вчіться та практикуйте хакінг AWS:HackTricks Training AWS Red Team Expert (ARTE)
Вчіться та практикуйте хакінг GCP: HackTricks Training GCP Red Team Expert (GRTE)

Підтримка HackTricks
{% endhint %}