信息安全

信息安全 首页 > 信息安全 > 信息安全 > 正文

微信支付的 JAVA SDK 存在 XXE 漏洞

发布时间:2019-03-05 浏览次数:

近日,国外安全社区公布微信支付官方SDK存在严重漏洞,可导致商家服务器被入侵(绕过支付的效果)。目前,漏洞详细信息以及攻击方式已被公开,影响范围巨大(已有陌陌、vivo确认存在该漏洞),建议用到JAVA SDK的用户快速检查并修复,关注存在支付场景的业务系统安全。

漏洞概述

XML外部实体注入(XML External Entity,简称XXE):当允许引用外部实体时,通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。

漏洞危害

此次漏洞可使攻击者向通知URL构建恶意有效payload,以便根据需要窃取商家服务器的任何信息。一旦攻击者获得商家的关键安全密钥(md5-key和merchant-Id等),他甚至可以通过发送伪造信息来欺骗商家而无需付费购买任何东西。目前微信官方尚未对SDK进行修复。现已有momo、vivo已经验证被该漏洞影响。

受影响范围

微信支付官方JAVA SDK

修复建议

1、用户可使用开发语言提供的禁用外部实体的方法。java禁用外部实体的代码如下:

DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance(); dbf.setExpandEntityReferences(false);

参考链接:http://seclists.org/fulldisclosure/2018/Jul/3

版权所有:随州职业技术学院网络安全和信息中心

地址:湖北省随州市迎宾大道38号云桂楼 邮编:441300