今天,微信支付发布了一则紧急通知:
尊敬的微信支付商户:
您的系统在接受微信支付XML格式的商户回调通知(支付成功通知、退款成功通知、委托代扣签约/解约/扣款通知、车主解约通知)时,如未正确地进行安全设置或编码,将会引入有较大安全隐患的XML外部实体注入漏洞(XML External Entity Injection,简称 XXE)。
请贵司研发人员务必参考微信支付安全实践指引:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=23_5 ,进行安全隐患确认和排除。
微信支付团队
2018年7月4号
科普
XXE漏洞全称XML External Entity Injection即xml外部实体注入漏洞,XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站、发起dos攻击等危害。xxe漏洞触发的点往往是可以上传xml文件的位置,没有对上传的xml文件进行过滤,导致可上传恶意xml文件。
微信支付将大面积受影响
在微信支付回调过程中,微信默认使用了XML格式的数据,因此几乎所有微信支付流程都面临XXE漏洞的风险。
XXE危害有多大?轻则攻击者可以不花一分钱完成一个“已支付”订单,重则整个系统沦陷。
攻击难度如何?
网上搜“XXE”即可看到各种完整的攻击教程,完成一次攻击只需要1分钟!所以不要心存侥幸!
别急,有我们在!
Senparc 团队在第一时间已经提供了修补程序,请将你的系统升级到 Senparc.Weixin SDK 最新版本,包括全系列MP(公众号)、WxOpen(小程序)、Open(开放平台)、Work(企业微信)等模块。
同时,系统底层公共模块 Senparc.CO2NET 也为所有 C# 程序提供了彻底的一站式解决方案,在 CO2NET 最新版本(v0.1.6.1)中,提供了名为 XmlDocument_XxeFixed 的类(命名空间:Senparc.CO2NET.ExtensionEntities),全局使用 XmlDocument_XxeFixed 取代 XmlDocument 即可修补此漏洞。
Senparc.Weixin SDK 升级包地址:
MP(v5.0.6.1):
https://www.nuget.org/packages/Senparc.Weixin.MP
WxOpen(2.0.6.2):
https://www.nuget.org/packages/Senparc.Weixin.WxOpen
Open(v3.0.6.1):
https://www.nuget.org/packages/Senparc.Weixin.Open
Work(v2.0.6.1):
https://www.nuget.org/packages/Senparc.Weixin.Work
CO2NET 升级包地址:
https://www.nuget.org/packages/Senparc.CO2NET
(Senparc.Weixin 已经自带最新 CO2NET)
感谢本次发布 SDK 版本的贡献者们:
Senparc 团队
TomLiu-GitHub
lhg0302
lishewen
e4ky
风格
加入XXE解决方案讨论群:
QQ群:622959308
重要的事情说三遍:
马上升级!
马上升级!
马上升级!