Привіт, ентузіасти безпеки! 👋 Сьогодні я хочу поділитися тривожною вразливістю безпеки, яка дозволяє зловмиснику видаляти будь-які документи особи користувача на xyz.com. Ця проблема виникає через IDOR (Insecure Direct Object Reference) вразливість, де параметр IdentityUniqueId може бути вгаданий або зламуваний, що призводить до несанкціонованого видалення критичних документів особи.
🚨 Чому це велика проблема? Документи особи є важливими для верифікації та відповідності вимогам. Якщо зловмисник може їх видаляти, це може спричинити серйозні порушення, юридичні проблеми та ризики крадіжки особистості. Розберемо це докладніше! 🔍
Розуміння IDOR (Insecure Direct Object Reference)
IDOR виникає, коли додаток не перевіряє, чи має користувач дозвіл на доступ або зміну певних об’єктів. Замість того, щоб проводити перевірку авторизації, система довіряє введеному користувачем вводу (наприклад, ідентифікатори об’єктів) без належних перевірок.
Типові експлойти IDOR:
✅ Перегляд приватних даних іншого користувача
✅ Модифікація записів іншого користувача
✅ Видалення важливих документів без дозволу
✅ Отримання доступу до адміністративної функціональності
Виявлення: IDOR в процесі видалення документів
1️⃣ Ідентифікація вразливого кінцевого пункту
Після реєстрації двох акаунтів (Атакуючий та Жертва) на xyz.com я протестував процес завантаження та видалення документів особи.
При видаленні документа було надіслано наступний запит:
Захоплений запит:
POST /api/removeDocument HTTP/1.1
Host: [www.xtrm.com](http://www.xtrm.com)
Authorization: Bearer ATTACKER_TOKEN
Content-Type: application/json
{ "IdentityUniqueId": "21518" }
Цей IdentityUniqueId представляє документ, що видаляється. Проблема? Немає перевірки прав власності! Будь-який IdentityUniqueId можна підставити, щоб видалити документ іншого користувача. 😱
2️⃣ Використання вразливості
🔹 Крок 1: Увійти в акаунт атакуючого та захопити запит на видалення.
🔹 Крок 2: Змінити IdentityUniqueId на діапазон можливих значень (21510–21521).
🔹 Крок 3: Використовувати Burp Intruder для автоматизації запитів і видалення кількох документів особи.
🔹 Крок 4: Увійти в акаунт жертви та перевірити їхні документи.
🔹 Крок 5: Усі документи зникли! Атака вдалася. 🎯
Реальний вплив
🔴 Ризик крадіжки особистих даних — Зловмисники можуть видалити документи верифікації користувача, що призводить до фальшивих захоплень акаунтів.
🔴 Порушення законодавства та відповідності вимогам — Фінансові та юридичні організації покладаються на верифікацію особистості; несанкціоновані видалення можуть призвести до штрафів за порушення.
🔴 Атака відмови в обслуговуванні (DoS) — Зловмисники можуть націлити всі акаунти, стираючи документи особи та порушуючи сервіс.
🚨 Уявіть, якщо хакер видалить тисячі документів особи за ніч — користувачі будуть заблоковані в своїх акаунтах, що створить хаос. 🚨
Як виправити цю вразливість?
✅ 1. Реалізувати належну перевірку авторизації
Переконайтесь, що при видаленні документів перевіряється право власності користувача на документ.
Використовуйте аутентифікацію за сесією для підтвердження, що користувач, який увійшов, володіє документом.
✅ 2. Обмежити контроль доступу
Замість того щоб надсилати IdentityUniqueId, отримуйте документи, прив’язані до автентифікованого користувача автоматично.
Застосовуйте контроль доступу на основі ролей (RBAC), щоб обмежити дозволи на зміну документів.
✅ 3. Запобігти атакам методом грубої сили
Впровадьте обмеження швидкості та механізми журналювання для виявлення кількох запитів на видалення.
Сповіщайте користувачів, коли їхні документи видаляються, і надавайте можливість відновлення в межах певного часу.
✅ 4. Захистити кінцеві точки API
Використовуйте UUID замість послідовних ідентифікаторів для запобігання нумерації.
Шифруйте ідентифікатори документів, щоб запобігти прямій маніпуляції.
Остаточні думки:
Ця вразливість є класичним прикладом того, чому перевірка авторизації важлива.
Якщо додаток не перевіряє, чи має користувач дозвіл на зміну даних, можуть статися катастрофічні збої в безпеці.
🔐 Головний висновок: Ніколи не довіряйте введеному користувачем вводу для посилань на об’єкти — завжди перевіряйте дозволи на сервері.
Результат: Я отримав дубльований відгук, але вони оцінили мою роботу і дали 50$ низьку винагороду за це.
Сподіваюся, цей глибокий аналіз допоможе як розробникам, так і дослідникам безпеки. Якщо вам сподобався цей розбір, не забудьте поставити «аплодування» 👏 та поділитися, щоб поширити обізнаність!
🔗 Слідкуйте за мною на Medium, Instagram та LinkedIn для більше досліджень безпеки! 🚀
Instagram: https://www.instagram.com/shrujal.___/
LinkedIn: www.linkedin.com/in/shrujal-mandawkar-ab3b32320
Будьте в безпеці та продовжуйте хакінг відповідально! 🔥
Перекладено з: IDOR Allows Attackers to Delete Any User’s Identity Documents | IDOR | $$$$🚨