XXE (внешние сущности XML)

Обработка XML с внешними сущностями позволяет читать файлы сервера и выполнять SSRF.

СигнатураXML External Entity

XXE возникает, когда XML-парсер обрабатывает внешние сущности. Через объявление DOCTYPE со ссылкой на файл или URL атакующий читает локальные файлы сервера или инициирует запросы во внутреннюю сеть.

Как защититься: отключайте обработку внешних сущностей и DOCTYPE в парсере, используйте безопасные библиотеки (например defusedxml в Python), предпочитайте JSON, где это возможно.

# Опасно: стандартный парсер с включёнными сущностями
# import xml.etree.ElementTree as ET
# ET.fromstring(untrusted_xml)

# Безопасно: defusedxml блокирует внешние сущности
import defusedxml.ElementTree as ET
tree = ET.fromstring(untrusted_xml)
← Все записи: Веб-уязвимости и защита
Поддержать проект