Перейти к содержимому
Noroxi

CWE-306 · 3 066 записей

Отсутствие аутентификации для критической функции

Почему это происходит?

Функция, добавленная для разработки или поддержки, попадает в продуктивную среду без аутентификации. Нередко расчёт делается на то, что она «доступна только из внутренней сети».

Как предотвратить

  1. 01Исключайте функции обслуживания и отладки из продуктивной сборки.
  2. 02Если функцию нужно оставить, защитите её проверкой прав и отдельным флагом конфигурации.
  3. 03Не подменяйте аутентификацию сетевым расположением.

Уязвимый и исправленный код

Показательный учебный пример. Выделенные строки показывают, где ошибка и где исправление.

Уязвимый код

ts
// Добавлено для службы поддержкиapp.post("/maintenance/reset", resetDevice);

Исправленный код

ts
if (config.maintenanceEnabled) {  app.post(    "/maintenance/reset",    requireSession, requireRole("admin"), resetDevice  );}

Есть ли этот шаблон в вашем коде?

В рамках услуги «Пентест инфраструктуры и сети» мы целенаправленно ищем этот класс. Результаты передаются с указанием номеров строк.

CVE этого класса

3 071 записей

Все классы уязвимостей