Залишковий налагоджувальний код

Залишковий налагоджувальний код

Помилкою була сама перевірка. Одна одруківка залишила налагоджувальний маршрут відкритим.

Що таке Залишковий налагоджувальний код?

Помилка не у функції, а в перемикачі, який мав її вимикати. Налагоджувальний маршрут захищає себе змінною середовища з одруківкою, порівняння перетворюється на undefined !== 'production' , і маршрут відповідає в продакшні. Ви перебираєте налагоджувальні шляхи, поки /api/_debug/env не поверне пароль до бази даних, ключ підпису JWT і робочі хмарні ключі, а потім підробляєте токен адміністратора цим ключем. Виправлення — ротація всіх викрадених облікових даних і виключення маршруту з продакшн-бандла під час збірки.

Що ви дізнаєтесь у Залишковий налагоджувальний код

Залишковий налагоджувальний код — Кроки навчання

  1. Оцініть ціль

    Боб — зловмисник. Він заробляє тим, що витягає дані з компаній, які залишили щось відкритим, а потім продає їх або використовує, щоб дістатися до їхніх грошей. Сьогодні його ціль — Vessura, платформа закупівель, на якій працюють інші підприємства. Він починає звідти, звідки почав би кожен: з публічного сайту. Боб оцінює компанію, перш ніж шукати шлях усередину.

  2. З'ясуйте, що відкрито

    На публічному сайті немає нічого незвичайного: вхід, каталог постачальників, сторінка підтримки. Але застосунок має не лише парадний вхід. Допоміжний код для розробників, що залишився в збірці, доступний кожному, хто його шукає, тож Боб складає карту всіх ендпоінтів API порталу, які справді відповідають.

  3. Зверніться до налагоджувального маршруту

    Боб відтворює запит, який виявило сканування. Він спрямовує API Tester на налагоджувальний шлях і надсилає звичайний GET без входу в систему й без токена, щоб побачити, що сервер віддасть.

  4. Усі секрети одним запитом

    Відповідь — не сторінка помилки. Це повне середовище процесу продакшн-сервера, віддане запиту, у якому не було жодних облікових даних.

  5. Підробіть токен адміністратора

    Дамп віддав Бобу JWT_SECRET — ключ, яким застосунок підписує кожен токен сесії. Повернувшись у той самий термінал, Боб створює власний токен, ставить у ньому роль адміністратора, і сервер приймає його за справжній вхід.

  6. Увійдіть як адміністратор

    Тепер Боб використовує токен. Він звертається до внутрішнього API постачальників, призначеного лише для адміністраторів, що ввійшли в систему, і передає підроблений токен у заголовку Authorization , щоб сервер вважав його одним із них. У терміналі зліва досі лишається токен, який він щойно створив.

  7. Реєстр відкрито

    Сервер довірився токену й відповів. Тепер Боб читає внутрішній реєстр постачальників через публічний API, не маючи власного облікового запису.

  8. Перевірка знань

  9. Надходить сповіщення DLP

    Ви відповідаєте за портал закупівель Vessura. Уночі система запобігання втраті даних (DLP), що стежить за вихідним трафіком, спрацювала на відповідь, яка винесла з сервера робочі секрети. Центр моніторингу безпеки надіслав вам подробиці електронною поштою.

  10. Відкрийте обробник

    Відкрийте налагоджувальний обробник і подивіться, як він вирішує, відповідати чи ні.

Охоплення стандартів безпеки

OWASP Top 10

  • A02:2025 Security Misconfiguration
  • A05:2021 Security Misconfiguration

CWE

  • CWE-489 Active Debug Code
  • CWE-215 Insertion of Sensitive Information Into Debugging Code

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security