Вразливість масового призначення в ty-api.xyz.cloud/api/v1/user/me дозволяє постійне блокування облікового запису

Як я отримав свою першу уразливість на HackerOne

Вступ

Цей блог описує мій досвід виявлення та повідомлення про вразливість масового призначення у програмі VDP. Вразливість дозволяла атакуючому змінювати адресу електронної пошти будь-якого користувача без авторизації, що призводило до постійного блокування облікового запису жертви. Крім того, атакуючий міг зареєструвати обліковий запис з електронною поштою і пізніше змінити її на перевірену або неперевірену без будь-якої перевірки.

pic

Резюме

У точці API /api/v1/user/me існувала вразливість масового призначення. Це дозволяло атакуючому змінювати адресу електронної пошти будь-якого користувача без авторизації, що призводило до постійного блокування облікового запису. Крім того, атакуючі могли зареєструвати обліковий запис з тимчасовою електронною поштою і пізніше змінити її на перевірену або неперевірену без проходження процесу перевірки.

Кроки для відтворення

  1. Створіть два облікові записи:

2. Увійдіть в Alex і перехопіть API запит

Оригінальний запит

GET /api/v1/user/me HTTP/1.1   
Host: [REDACTED]   
Authorization: Bearer 

3. Змініть запит:

  • Змініть GET на PUT
  • Додати Content-Type: application/json; charset=utf-8
  • Змінити поле email на електронну пошту Vicky ([email protected])

4. Надіслати запит і отримати відповідь 200 OK.

5. Вийти з облікового запису Vicky.

6. Спробуйте увійти як Vicky знову — обліковий запис тепер заблокований назавжди.

Причина

Спочатку API перевіряє, чи існує обліковий запис на основній службі. Однак процес аутентифікації обробляється окремим постачальником ідентифікації, що призводить до проблеми десинхронізації. Ця невідповідність дозволяє атакуючим маніпулювати атрибутами облікових записів без належної перевірки, що зрештою призводить до таких проблем безпеки, як несанкціоновані зміни електронної пошти та постійні блокування облікових записів.

Вплив

  1. Постійне блокування облікового запису:
  • Жертви втрачають доступ до своїх облікових записів назавжди.
  • Відновлення пароля не працює, оскільки зареєстрована електронна пошта була змінена.

2. Обхід перевірки електронної пошти:

  • Атакуючі можуть реєструвати облікові записи з фальшивими електронними адресами і пізніше призначити реальну електронну пошту, обходячи процес перевірки.

3. Потенційний масовий збій:

  • Атакуючі можуть автоматизувати цей запит для масового блокування облікових записів користувачів, що призведе до значних збоїв.

Висновок

Ця вразливість продемонструвала, як проблеми масового призначення можуть призвести до серйозних наслідків. Завдяки відповідальному розкриттю ця проблема була повідомлена 6 лютого 2025 року о 12:02 за всесвітнім координованим часом (UTC). Вона була підтверджена 14 лютого і отримала рівень серйозності High (8.3) після оцінки 21 лютого, що допомогло покращити заходи безпеки для постраждалої системи.

pic

Перекладено з: Mass Assignment Vulnerability in ty-api.xyz.cloud/api/v1/user/me Allows Permanent Account Lockout