HP fortify XML Inject Entity Injection

Hp fortify показывает мне инъекцию внешнего объекта XML в приведенный ниже код:

StringBuilder sb = new StringBuilder();
StringWriter stringWriter = new StringWriter(sb);
xmlSerializer.Serialize(stringWriter, o);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(stringWriter.ToString());  //bad code
result = xmlDoc.ChildNodes[1].OuterXml;

в приведенном выше он показывал уязвимость в следующей строке xmlDoc.LoadXml(stringWriter.ToString());

Как я могу разрешить эту ситуацию?

1 ответ

Решение

use xmlDoc.XmlResolver = null; перед загрузкой XML.

В объекте XmlDocument есть объект XmlResolver, для которого необходимо установить значение NULL в версиях до 4.5.2. В версиях 4.5.2 и выше этот XmlResolver по умолчанию имеет значение null.

Другие вопросы по тегам