微信支付 SDK 爆漏洞可 0 元购买任意商品

国外安全社区 Seclists.Org 里一名白帽子披露了微信支付官方 SDK 存在严重的 XXE 漏洞,可导致商家服务器被入侵,且黑客可避开真实支付通道,用虚假的支付通知来购买任意产品。

XXE 漏洞是一种容易被忽视,但危害巨大的漏洞。它可以利用 XML 外部实体加载注入,执行不可预控的代码,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。

微信在JAVA版本的SDK中提供callback回调功能,用来帮助商家接收异步付款结果,该接口接受XML格式的数据,攻击者可以构造恶意的回调数据(XML格式)来窃取商家服务器上的任何信息。一旦攻击者获得了关键支付的安全密钥(md5-key和商家信息,将可以直接实现0元支付购买任何商品)

受影响的版本有 JAVA SDK,WxPayAPI_JAVA_v3,建议使用了该版本的公司进行异常支付排查。现已有陌陌、Vivo 已经验证被该漏洞影响。