Код: Выделить всё
string OurOutputXMLString=
"00000Logince_useridce_subscribernamece_subscriberidce_groupid
UnitTester9pDhE5AsKBHw85Sqgg6qdKQ==tOlkiae9epM="
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(OurOutputXMLString);
< /code>
В отчете по аудиту они говорят, что он терпит неудачу, потому что объект XML может содержать URL, которые могут разрешить за пределами предполагаемого управления. XML Entity Resolver попытается разрешить и получить внешние ссылки. Если контролируемый злоумышленником XML может быть отправлен на одну из этих функций, то злоумышленник может получить доступ к информации о внутренней сети, локальной файловой системе или других конфиденциальных данных.
Чтобы избежать этого, я написал следующий код, но он не работает. < /P>
MemoryStream stream =
new MemoryStream(System.Text.Encoding.Default.GetBytes(OurOutputXMLString));
XmlReaderSettings settings = new XmlReaderSettings();
settings.DtdProcessing = DtdProcessing.Prohibit;
settings.MaxCharactersFromEntities = 6000;
XmlReader reader = XmlReader.Create(stream, settings);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(reader);
Может ли кто -нибудь помочь, где мне не хватает?
Подробнее здесь: https://stackoverflow.com/questions/142 ... ent-in-net