Залишки коду налагодження

Залишки коду налагодження

Ворота були жуком. Одна помилка залишила маршрут налагодження відкритим.

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

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

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

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

  1. Збільште розмір мішені

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

  2. Намалюйте те, що відкрито

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

  3. Вирушайте на шлях налагодження

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

  4. Кожен секрет одразу

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

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

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

  6. Заходьте як адмін

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

  7. Книга відкрита

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

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

    Ви щойно спостерігали, як єдиний залишений шлях передає кожен секрет, а потім сеанс адміністратора. Зафіксуйте чому.

  9. Попередження DLP приземляється

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

  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