今天,微信支付发布了一则紧急通知:

尊敬的微信支付商户:

您的系统在接受微信支付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

重要的事情说三遍:

马上升级!

马上升级!

马上升级!

【红色警报】XXE 高危漏洞将大面积影响微信支付安全,可能导致系统沦陷,请升级你的系统!的更多相关文章

  1. ASP.NET微信支付XXE漏洞修复

    1. XXE场景 关于XML解析存在的安全问题指引 微信支付商户,最近暴露的XML外部实体注入漏洞(XML External Entity Injection,简称 XXE),该安全问题是由XML组件 ...

  2. Struts2漏洞拉响网站安全红色警报以及把Struts2更新为最新版本Struts2.3.15.1步骤

    360网站安全检测平台今日发布红色警报称,广泛应用在国内大型网站系统的Struts2框架正在遭到黑客猛烈攻击.利用Struts2“命令执行漏洞”,黑客可轻易获得网站服务器ROOT权限.执行任意命令,从 ...

  3. OpenSSL再爆多处高危漏洞

    OpenSSL团队于北京时间6月5号晚8点左右发布了5个安全补丁,这次的更新涉及多处高危漏洞,连接:http://www.openssl.org/news/ 受影响的版本包括: OpenSSL 1.0 ...

  4. 【更新WordPress 4.6漏洞利用PoC】PHPMailer曝远程代码执行高危漏洞(CVE-2016-10033)

    [2017.5.4更新] 昨天曝出了两个比较热门的漏洞,一个是CVE-2016-10033,另一个则为CVE-2017-8295.从描述来看,前者是WordPress Core 4.6一个未经授权的R ...

  5. “织梦”CMS注入高危漏洞情况

    "织梦"CMS注入高危漏洞情况 作者:    时间:2014-04-17   "织梦"CMS是由上海卓卓网络科技有限公司研发的一款网站建站系统软件,又称&quo ...

  6. L2-013 红色警报 (25 分) (并查集)

    链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805063963230208 题目: 战争中保持各个城市间的连通性非 ...

  7. 微信支付的安全漏洞之XXE

    1.场景:国外安全社区公布微信支付官方SDK存在严重漏洞,可导致商家服务器被入侵(绕过支付的效果).目前,漏洞详细信息以及攻击方式已被公开,影响范围巨大(已确认陌陌.vivo因使用该SDK而存在该漏洞 ...

  8. Oracle数据库XXE注入漏洞(CVE-2014-6577)分析

    在这篇文中,我们将共同分析一下Oracle数据库的XXE注入漏洞(CVE-2014-6577),Oracle公司1月20日发布了针对该漏洞的相关补丁. 有关XXE的相关知识,可以查看安全脉搏站内的另一 ...

  9. PAT L2-013 红色警报(并查集求连通子图)

    战争中保持各个城市间的连通性非常重要.本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报.注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不 ...

随机推荐

  1. 安卓学习 intent

    其实学习了好几个星期了,是看老罗的视频,但进度太慢 今天 换了一本书 Intent 切换页面 啊啊啊啊 CompentName comp=new CompentName(MainActivity.th ...

  2. python基础中的四大天王-增-删-改-查

    列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...

  3. docker不能上传镜像到自己网站的仓库

    错误提示如下: WARNING! Using --password via the CLI is insecure. Use --password-stdin. Error response from ...

  4. NOIP2018游记-退役之战

    \(Day\ 0\) 从火车站下来坐地铁\(1\)小时,再乘公交车到酒店,还要帮队里一个断腿大佬搬东西,累死我了.. 到酒店就快\(5\)点了,想打个牌也没时间. 酒店的房间很不错,空间大又干净,后来 ...

  5. laraval migration 新增字段或者修改字段的方法

    1.进入项目根目录执行artisan命令生成migration文件,可以指定--table和--path参数,会在对应目录下生成migration文件. php artisan make:migrat ...

  6. LCA的两种写法

    第一种是离线的Tarjan算法 #include<cstdio> using namespace std; int rd(){ ,fl=;char ch=getchar(); ;}ch=g ...

  7. python的文件读写笔记

    读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...

  8. python 基础———— 字符串常用的调用 (图)

    Python 常用的 字符串调用方法 这里用到了pycharm ( 使用Python  有力的工具) 下载地址https://www.jetbrains.com/pycharm/download/#s ...

  9. Linux关于文件,文件夹操作命令

    文件 文件夹 相关操作命令 查看文件 cd 切换目录位置 ls 目录    查看指定目录所有文件  --缺省当前目录 ls -l 目录 查看指定目录所有文件的详细信息 --同 ll 命令 ls -a ...

  10. flask-cookie & session

    Cookie @app.route('/') def hello_world(): name=request.cookies.get('Name')  # 获取cookie resp = Respon ...