今天相信很多的朋友,都看到了互联网关于 WxPay SDK的 XXE 漏洞的消息。比如这篇文章:http://seclists.org/fulldisclosure/2018/Jul/3

从上面的文章来看,是利用了 DocumentBuilderFactory 解析xml的时候,未禁用外部实体引起的。关于XXE的利用可以参考这篇文章:https://www.cnblogs.com/miyeah/p/4526088.html

关于漏洞的如何利用:

  • 首先需要得知服务提供商每次交易的回调地址
  • 构造带有外部实体的xml文件,请求回调地址
  • 如果恰好有这个漏洞,那么可能你会得到你想要的东西

关于网上说的,可以0元购买产品,思路可能是需要经过一系列的渗透,拿到服务提供商与微信交易的key(md5key)等信息。自己通过服务提供商下单,然后不支付。再通过伪造微信的异步通知,请求回调地址,使得这笔交易处于支付成功的状态。然后,就可以实现0元购买物品。

从今晚我下载的JavaAPI_SDK看,微信已经修复了这个漏洞。但是,可能很多的商家没有去下载最新的包更新代码,或者没了解到这个消息。可能一些商户在未来的一段时间内,依然存在这个漏洞。按照网上的包来看,感觉有漏洞的版本已经存在已久,一个不太好的想法就是,这个漏洞已经被很多人拿来做了渗透。

0
最后修改日期:2018-07-03

作者

留言

微信修补的信息:
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=23_5
https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#C.2FC.2B.2B

上午的时候,微信的漏洞修补方案里还有这一句,但下午就没了:

factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);

其实他的作用是,为了防止拒绝服务攻击。

0

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据