1. XXE场景

ASP.NET微信支付XXE漏洞修复 随笔 第1张

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

2.原因:

   主要是在xml转map的时候处理不得当造成的,所以接下来的修复工作主要在xml解析类中下功夫

 

3. NET解决方案

ASP.NET微信支付XXE漏洞修复 随笔 第2张

 

由于我们用的是.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时候, 没有通过外部实体的加载  ,导致恶意加载文件和代码,造成任意文件攻击

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄