ASP.NET微信支付XXE漏洞修复
1. XXE场景
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。2.原因:
主要是在xml转map的时候处理不得当造成的,所以接下来的修复工作主要在xml解析类中下功夫
3. NET解决方案
由于我们用的是.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;
总结: 解析xml时候, 没有通过外部实体的加载 ,导致恶意加载文件和代码,造成任意文件攻击

更多精彩