18 KiB
Скидання/Забутий пароль обхід
{% hint style="success" %}
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
Приєднуйтесь до 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"]}
- Кроки пом'якшення:
- Правильно аналізуйте та перевіряйте параметри електронної пошти на стороні сервера.
- Використовуйте підготовлені запити або параметризовані запити для запобігання атакам ін'єкцій.
- Посилання:
- 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://twitter.com/HusseiN98D/status/1254888748216655872
Зміна електронної пошти та пароля будь-якого користувача через параметри API
- Зловмисники можуть змінювати параметри електронної пошти та пароля в запитах API, щоб змінити облікові дані акаунта.
POST /api/changepass
[...]
("form": {"email":"victim@email.tld","password":"12345678"})
- Кроки пом'якшення:
- Забезпечте сувору перевірку параметрів та аутентифікаційні перевірки.
- Реалізуйте надійне ведення журналу та моніторинг для виявлення та реагування на підозрілі дії.
- Посилання:
- Повне захоплення облікового запису через маніпуляцію параметрами API
Відсутність обмеження швидкості: 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
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.