Для записи спецсимволов в XML документах используются так называемые сущности. Сущностью называются именованные данные, как правило, текстовые (в частности спецсимволы). Сущности можно разделить на следующие категории:
— предопределенные;
— внутренние;
— внешние.
Атака XML External Entity — пример предопределенной сущности: » (символ двойной кавычки). Пример внутренней сущности: <!ENTITY pentest «hek»> … &pentest;. Внешние сущности ссылаются на сторонние файлы. Атака XML eXternal Entity заключается в использовании внешних сущностей. <!ENTITY epicwin SYSTEM «file:///etc/passwd»>. Фикс — запретить использование внешних сущностей: DOMDocument::loadXML($xml, LIBXML_NOENT);.
— предопределенные;
— внутренние;
— внешние.
Атака XML External Entity — пример предопределенной сущности: » (символ двойной кавычки). Пример внутренней сущности: <!ENTITY pentest «hek»> … &pentest;. Внешние сущности ссылаются на сторонние файлы. Атака XML eXternal Entity заключается в использовании внешних сущностей. <!ENTITY epicwin SYSTEM «file:///etc/passwd»>. Фикс — запретить использование внешних сущностей: DOMDocument::loadXML($xml, LIBXML_NOENT);.