php微信支付漏洞,微信支付官方紧急推送关于修复XXE漏洞提示,附修复方案

昨天有一条关于微信支付0元购的消息在开发圈里炸开了锅,所谓0元购并不是用户抽奖,而是恶意攻击者利用漏洞实现0元支付。

正常的支付基本流程是这样的:用户发起支付->调起微信支付->支付成功->微信支付服务器发送成功通知给应用(比如某个商城)服务端->应用服务端解析微信支付发送的通知->解析后的信息进行必要对比确认后更新订单为已付款状态。

然而该漏洞,就是恶意利用解析过程,可以造成读任何文件、内网探测、命令执行等问题。

958250ce6a4931845b3cab3500936322.png

虽然这个问题是昨天火起来的,但实际上在前几天就有陆陆续续报道,只是昨天被更多人所知晓而已。比如早在7月1日在Full Disclosure有一篇名为《XXE in WeChat Pay Sdk ( WeChat leave a backdoor on merchant websites)》的文章指出这个问题。

5481dcb11c8a5f90c90d2f9adbf4bf50.png

然后昨天微信支付官方就向商户推送该漏洞提示:

62d8486a831560e80b457caefe2b1bf2.png

实际上该漏洞跟微信支付本身没什么太大关系,所以网上吃瓜群众就借此来吐槽微信支付安全性,这实在是两回事。这个漏洞其实就是很多开发者在对接微信支付的时候不严谨造成的,在解析微信支付异步通知推送的XML数据时造成漏洞的存在;此外造成很多吃瓜群众误解的原因是因为老版本的微信支付java版官方SDK存在该漏洞,而我看了一下php版的SDK,我这边能找到的是2015年的,里面已经在解析XML数据时禁止引用外部xml实体。

686959e8e3961a09e074f74d334d46e9.png

同时,在微信支付官方文档中的《最佳实践-最佳安全实践》中专门针对该问题添加了一部分文档,名为《关于XML解析存在的安全问题指引》,地址为:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=23_5。该文档针对该问题做了相应的风险提示以及问题修复指南,同时还写了php、java、Python、.net等主流开发语言的设置指引。

据了解该问题影响面还是不小的,从已经报道的消息来看,其中不乏一些大商户、大厂商也存在该问题。不过你是商户还是开发者,结合自己实际来做相应处理哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值