Я пытаюсь защитить от вредоносных инъекций XXE в XML-файлах, обработанных моим приложением. Поэтому я использую XDocument вместо XmlDocument.XDocument.Parse: Избегайте замены ссылок на XXE
XML представляет полезную нагрузку веб-запроса, поэтому я вызываю XDocument.Parse на его строковое содержимое. Тем не менее, я вижу ссылки XXE, содержащиеся в XML (& XXE), которые заменяются в результате фактическим значением ENTITY xxe.
Возможно ли разобрать XML с помощью XDocument без замены & xxe?
Благодаря
EDIT: мне удалось избежать замены xxes в XML с использованием XmlResolver=null
для XDocument.Load
Я не хочу расширять сущности, это означало бы, что меня вводят. –
Это расширит только объекты символов, такие как 'A', но сохраняет любые другие объекты, такие как '&XEE;'. По крайней мере, 'XmlReader' вернет' XmlNodeType.EntityReference' вместо текста. См. Примечания здесь: https://msdn.microsoft.com/en-us/library/system.xml.xmltextreader.entityhandling%28v=vs.110%29.aspx – taffer