2017-02-22 45 views
0

я был ниже код в моем проектеXML Injection на FORTIFY выпуске

XPathDocument document = new XPathDocument(new StringReader(xml)); 
return document.CreateNavigator(); 

подкрепиться отображения инъекции XML в коде выше. Как решить эту инъекцию xml?

+0

Увидев, что вы не предоставили абсолютно никакого контекста, что бы это ни было - я бы сказал, что это можно легко решить с помощью проверки ввода. – rook

ответ

0

«Функции расширения и переменные могут быть полезны при предотвращении атак с использованием XML-инъекций».

Источник: https://msdn.microsoft.com/en-us/library/dd567715.aspx

Основная идея в предотвращении инъекции XPath является предварительной компиляцией выражения XPath вы хотите использовать, и чтобы переменные (параметры) в нем, что в процессе оценки будет заменен введенные пользователем значения

В .NET:

  1. ли ваш XPath expresion предварительно скомпилированные с XPathExpression.Compile().
  2. Используйте метод XPathExpression.SetContext(), чтобы указать в качестве контекста объект XsltContext, который разрешает определенные переменные вводимым пользователем значениям.

Источник выше, basiclly содержит всю необходимую информацию.