微信支付Java SDK存在高危漏洞,可0元购物、读取用户信息
昨天有国外白帽子公布了一项微信支付Java SDK的高危XXE漏洞,可导致商家服务器被入侵,甚至可能被黑客利用,避开真实支付通道,利用伪造的支付成功数据来购买任意商品,而且攻击方式已经大规模传播。目前已经确认vivo、陌陌可以被成功利用该漏洞,但已经紧急修复。不过小商户依然要等到今天中午腾讯在官方网站上对该SDK漏洞进行更新,修复了已知的安全漏洞。所以使用微信支持SDK的商户要及时更新。
本次涉及的XXE漏洞其实很容易被忽略,全称是XML外部实体注入漏洞,利用 XML 外部实体加载注入,执行不可预控的代码,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。
利用这个漏洞,可以在微信支付交易过程,使用通知URL回传信息构造恶意数据,读取商家服务器信息,一旦攻击者获得商家的关键安全密钥md5-key,就可以通过发送伪造的信息来欺骗商家而无需付费购买任意商品。
比较有趣的是,如此重量级的金融交易漏洞为什么会被大规模传播?
漏洞率先公布在seclists.org网站上,但由于不知道如何联系微信安全团队,转而在Twitter上@360Netlab,最后由360网络安全实验室转告给微信安全团队。
另外有人发现,虽然漏洞发布于国外,但选择尝试攻击的是vivo以及陌陌两家公司,同时文章虽然是英文撰写,但留有中文字符,有可能是国内的技术人员冒充外国人发布漏洞详情。
更值得思考的是,这种漏洞极具价值,为什么选择大规模公开,有白帽子推断这可能是黑客在使用过程中发现,自己落下了马脚,留下了信息,大规模公布漏洞可以让大量黑客尝试攻击并使用这个漏洞,让自己最初的破绽被众多攻击信息淹没,企图逃过一劫。
如果你是正在使用微信支付Java SDK的商户,请注意今天中午微信对该SDK进行的漏洞封堵升级,这个关系到用户数据以及金钱问题,千万要注意了。