1.场景还原
2.原因分析
所谓的外部实体注入漏洞,主要是在xml转map的时候处理不得当造成的,所以接下来的修复工作主要在xml解析类中下功夫
3.实现方案
由于我们用的是.net的开发环境。所以在原有解析xml的代码上添加一句就可以
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xml);
XmlNode xmlNode = xmlDoc.FirstChild;//获取到根节点<xml>
XmlNodeList nodes = xmlNode.ChildNodes;
在空格处添加
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.XmlResolver = null;
xmlDoc.LoadXml(xml);
XmlNode xmlNode = xmlDoc.FirstChild;//获取到根节点<xml>
XmlNodeList nodes = xmlNode.ChildNodes;
这样就ok了。