HP fortify XML 外部实体注入
Posted
技术标签:
【中文标题】HP fortify XML 外部实体注入【英文标题】:HP fortify XML External Entity Injection 【发布时间】:2017-06-26 18:47:52 【问题描述】: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】:XmlDocument 对象中有一个 XmlResolver 对象,在 4.5.2 之前的版本中需要将其设置为 null。 在 4.5.2 及更高版本中,此 XmlResolver 默认设置为 null。
【讨论】:
【参考方案2】:使用 xmlDoc.XmlResolver = null;在加载 xml 之前。
【讨论】:
以上是关于HP fortify XML 外部实体注入的主要内容,如果未能解决你的问题,请参考以下文章