ТОМ II · ПРИКЛАДНОЙ И ИНФРАСТРУКТУРНЫЙ ПЕНТЕСТИНГ | WEB-DES-05 (OWASP A08:2021 / A03:2021)

Безопасное доказательство и блокировка внешних сущностей XML, цепочек десериализации и шаблонных вставок

1. ПРОСТЫМИ СЛОВАМИ — БЕЗОПАСНИКУ, СИЛОВИКУ И КОМИССИИ (БЕЗ ЖАРГОНА)

Злоумышленник передаёт в сервис документ XML со ссылкой на системный файл, сериализованный бинарный объект со скрытой цепочкой вызова команд или выражение шаблонизатора. Испытатель доказывает ошибку разбора безопасным арифметическим маркером, перехватывает опасные вызовы до сокета и в автоматическом режиме выпускает правило фильтрации.

2. ПРИБОРНАЯ БАЗА — ТЕХНИЧЕСКОМУ ПРОВЕРЯЮЩЕМУ, РЕВИЗОРУ И ИНЖЕНЕРУ

Разборщики структурированных документов, механизмы восстановления бинарных объектов и серверные шаблонизаторы открывают путь к выполнению произвольного кода, если входная строка управляет директивами парсера или выбором создаваемых классов. Объявление внешних сущностей в XML позволяет выгружать локальные файлы и сканировать внутренние порты, десериализация недоверенных потоков запускает цепочки методов в памяти, а подстановка клиентского текста в шаблон даёт доступ к объектам среды выполнения.

3. СВОДКА НА ТРЁХ ЯЗЫКАХ АУДИТОРИИ (WEB-DES-05 · БЕЗОПАСНИК / РЕВИЗОР / ТЕХНОКРАТ VC)
Силовику и руководителю (без жаргона): Перехват «Execute remote gadget-chain subprocess, read /etc/shadow via XXE SYSTEM entity, or run SSTI os.popen» до сокета (0 вреда рабочей базе, готовая печать ГОСТ)
Техническому проверяющему (улика):     Норма ГОСТ Р 56939-2024 §5.4.1; Приказ ФСТЭК России от 11.04.2025 № 117 п. 60 | Фильтр SEC-ZD-V2-05 | Свидетель 9e53c184f6027d91
Технократу, CTO и VC (математика):     Инвариант Z3 (assert (and (= (xml_doctype_entity_decl body) false) (= (... | FP = 0,0% | Правило IMMUNE-DES-9E53C184 (mcp-sentinel 1.1.2)

1. Схема перехвата на проводе и выпуска контракта для WEB-DES-05

СХЕМА ПЕРЕХВАТА И ДОКАЗАТЕЛЬСТВА БЕЗ УЩЕРБА ДЛЯ КЛАССА WEB-DES-05 (OWASP A08:2021 / A03:2021) Входной документ или шаблон Сущности XML и цепочки объектов Фильтр SEC-ZD-V2-05 Блок запуска кода и чтения тайн Свидетель 9e53c184 Безопасный маркер разбора Правило IMMUNE-DES-9E53C184 Запрет внешних сущностей и кода

Инструментальный цикл проверки по классу WEB-DES-05 (OWASP A08:2021 / A03:2021, CWE-502 / CWE-611 / CWE-1336): блокировка опасной мутации правилом SEC-ZD-V2-05 до сокета, фиксация свидетеля 9e53c184f6027d91 и выпуск контракта IMMUNE-DES-9E53C184 для шлюза mcp-sentinel.

2. Фильтр нулевого ущерба и формальный инвариант решателя для WEB-DES-05

По правилу SEC-ZD-V2-05 программный фильтр в пути трафика блокирует любые проверочные пакеты, содержащие обращения к закрытым системным файлам, внешним сетевым узлам или функциям запуска командной оболочки, до попадания байтов в сокет.

На испытательном стенде анализатор подтверждает уязвимость парсера с помощью безопасных арифметических выражений и локальных маркеров стенда в сравнении с защищённым обработчиком, где внешние сущности и динамическая компиляция отключены. Пробой фиксируется свидетелем 9e53c184f6027d91 при нулевом числе ложных тревог.

ПАСПОРТНЫЕ ПАРАМЕТРЫ КЛАССА WEB-DES-05 (ТОМ II · КАТАЛОГ ВЕКТОРОВ INDRA)
Код класса:              WEB-DES-05 (deserialization_xxe_ssti)
Международные матрицы:   OWASP A08:2021 / A03:2021 | CWE-502 / CWE-611 / CWE-1336
Нормативная привязка:    ГОСТ Р 56939-2024 §5.4.1; Приказ ФСТЭК России от 11.04.2025 № 117 п. 60
Режим проверки:          Активное безопасное зондирование (AUTO_SCAN)
Проверочный зонд:        POST /api/v1/import/xml ]>&xxe;
Перехваченная мутация:   Execute remote gadget-chain subprocess, read /etc/shadow via XXE SYSTEM entity, or run SSTI os.popen
Инвариант решателя Z3:   (assert (and (= (xml_doctype_entity_decl body) false) (= (object_gadget_magic_bytes body) false) (= (template_eval_directive body) false)))
Правило фильтра:         SEC-ZD-V2-05
Хэш свидетеля:           9e53c184f6027d91
Скомпилированный фильтр: IMMUNE-DES-9E53C184 (mcp-sentinel 1.1.2)

3. Автоматический выпуск защитного контракта IMMUNE-DES-9E53C184 и квитанция ГОСТ Р 34.11-2012

На основании свидетеля 9e53c184f6027d91 компилятор в автоматическом режиме выпускает правило IMMUNE-DES-9E53C184 для перехватчика mcp-sentinel. Контракт отсекает заголовки объявления внешних сущностей DOCTYPE и ENTITY, блокирует бинарные потоки сериализации и экранирует управляющие скобки шаблонизаторов.

4. Инженерные разъяснения по проверке и закрытию класса WEB-DES-05

Доказательство шаблонной инъекции и разбора сущностей без риска для сервера

Вместо вызова системных утилит испытатель подаёт нейтральное проверочное выражение и сверяет результат его вычисления с ответом контрольной ручки-обманки, доказывая уязвимость без малейшего изменения файлов.

Блокировка атак через цепочки классов десериализации на входе в шлюз

Сформированное правило запрещает передачу исполняемых форматов сериализации по сигнатурам заголовков и допускает только плоские структуры JSON, прошедшие проверку типов.