Секция cdata
Секция
CDATA не является логической единицей
текста. Секция может встречаться в любом
месте документа, где синтаксис позволяет
размещать символьные данные. Секция
начинается <![CDATA[
и завершается ]]>.
Между этой разметкой находятся символьные
данные; символьные данные при этом
включают символы <
> & в их непосредственной
форме.
Атака
XXE (англ. Xml
eXternal Entity)
— одна из известнейших уязвимостей в
Интернете. Этот класс уязвимостей
зарегистрирован в крупнейших каталогах
уязвимостей: Common
Weakness Enumeration[26]
и CAPEC[27].
Суть атаки в следующем. Есть сервисы,
поддерживающие протоколы SOAP
и XML-RPC,
которые принимают входные данные в виде
XML-документа.
Стандарт XML-документа поддерживает
включение секции DTD,
а секции DTD, в свою очередь, могут
подключать к документу дополнительные
компоненты, так называемые внешние
сущности (англ. external
entity)[28].
Внешние сущности являются отдельными
файлами и задаются с помощью ключевого
слова SYSTEM и URI. Если XML-парсер невалидирующий,
он может просто загрузить внешнюю
сущность и подключить к содержимому
XML-документа. Злоумышленник может
подставить в URI внешней сущности file URI,
указывающий на аппаратное устройство
ЭВМ или на локальный файл в системе.
Сервер попытается прочитать файл по
указанному URI и включить его содержимое
в XML. При использовании такого механизма
возможны следующие виды атак[29]: