现在的人怎么了,今天新手如何去加油站加油,我说微信支付.一边说一边掏出手机

移动支付安全评测:微信支付篇 -
| 关注黑客与极客
移动支付安全评测:微信支付篇
共292040人围观
,发现 25 个不明物体
&&&&2013年绝对是移动支付领域快速发展的一年,短短一年之间,各种伴随移动设备出现的支付工具纷至沓来,无论是靠电子商务起家,互联网支付领域的巨头阿里,还是后发制人协微信推出微信支付的腾讯,无一不在向消费者暗示着一个信息,看好你的钱包,移动支付时代就要来了。
&&&&声明:我们尽量将测试的所有内容做到客观中立,并且所有测试中的测试项都可以在相同版本中进行验证,感兴趣的朋友可以自己尝试。本次测试分为腾讯篇和阿里篇,测试产品版本分别为:
微信:5.1版本支付宝钱包:8.0版本
&&&&前一段时间很多微博、论坛都在讨论支付宝钱包的安全性和所谓的“手机丢失实验”测试。在我们的测试过程中,也有涉及到“手机丢失”的测试,支付宝钱包真的有像新闻里写的那么脆弱吗,别着急,这个就留在下一篇阿里篇去讨论。
移动支付介绍
&&&&移动支付从应用情景层面来说,可以分为远景支付和近景支付。远景支付顾名思义就是,用户以远程的手段进行支付,远景支付我们大家都已经很熟悉了,常见的远景支付包括网银支付、银联支付、网络交话费、水电费等等。而近景支付则是一个相对陌生,并且市场相对空白,有待市场挖掘和用户教育,常见的近景支付有:NFC、手机钱包、声波支付、扫码支付等。
微信支付介绍
&&&&日,腾讯发布微信5.0版本,正式加入了支付、游戏、二维码扫描条形码报价、扫描英文翻译、封面、街景等功能。从5.0版本开始,腾讯协微信正式进军移动支付领域。
&&&&用户在微信中关联一张银行卡,并完成身份认证,即可将装有微信app的智能手机变成一个全能钱包,之后即可购买合作商户的商品及服务,用户在支付时只需在自己的智能手机上输入密码,无需任何刷卡步骤即可完成支付。
微信支付与支付宝
&&&&微信支付和支付宝确切来说不是一个层面上的竞争。支付宝是一个支付工具,而微信支付,只是以微信产品为基础,为支付提供应用场景的生态体系,微信确切的说是一个底层架构,支付是微信产品基础之上衍生出来的一个服务,当然,如果腾讯愿意,微信也可以搭载更多的支付工具,甚至包括支付宝,也可以在微信上实现有效应用。
&&&&微信支付最特别的地方在于,虽然它用了财付通的牌照和后台,但是微信支付的账户和财付通却没有任何关系。也就是说,你在微信支付里绑定的信用卡和消费账单,在用QQ账户登录的财付通上压根看不到,财付通也没有一个可以让你用微信账户登录的地方。这意味着微信支付根本没有网页端和电脑客户端,是一个纯粹内置在微信里的移动支付手段而已。
&&&&在微信支付的过程中,支付变成使用者用信用卡付款,而不是通过第三方支付用信用卡付款,除了一条确认短信之外根本不关财付通什么事。这样的支付流程和亚马逊有点像,你想买东西,掏出信用卡就够了,不用在买卖双方之间再加个第三方支付。
&&&&不同微信号对相同银行卡的多重绑定
&&&&用一张图片说明:
&&&&产生的本质原因:注册微信时,微信未对注册人的真实身份(身份证、手机号码等)进行认证。
&&&&而在后期的测试中,也验证了这个问题,我们用两个手机的两个不同微信账户,可以绑定同一身份人的同一张银行卡,并且可以设置不同的支付密码。
&&&&这个潜在风险在于,理论上我拿到你的手机,知道你的银行卡号(前提是办理该张银行所预留的手机号就是当前所使用的),就可以完全使用任意微信账号(未开通过微信支付的微信账号)绑定你的银行卡从而进行消费。
&&&&腾讯现在的做法是默认微信账号与第一次开通微信支付时绑定的银行卡用户名进行关联绑定。简单点的说就是,假设我现在开通微信支付,但却绑定另一个人的银行卡,那么此后我就只能绑定与这个人相关的银行卡,不能绑定其他人的银行卡。之后我们通过和腾讯微信的人工客服沟通,了解到暂时不支持解绑定操作。
&&&&对比一下阿里的做法,阿里在支付宝注册时就对注册人进行真实身份验证(并且一个真实身份只能对应一个支付宝账户),当其他用户想要绑定该银行卡时,支付宝会同时比对银行卡预留信息和支付宝身份绑定信息,若不相同是无法绑定银行卡的。整个过程如图所示:
&&&&根据现有的信息,我们不难看出,由于支付宝前期定位就是一款便捷的支付工具,因此对账户信息和真实身份的验证计划执行的相对比较周密;而微信则不太相同,由于微信最初的核心定位在于其强大便捷的社交属性。这里大胆猜测,微信支付在最初的微信产品计划里是不存在的,是初代产品发布后,中途加进去的想法,当后期用户增长到一定数量,才计划开始做支付这个模块的。否则应该在微信最初上线时就对用户进行真实身份认证的。
解决办法:
&&&&增加对微信用户的真实身份验证。鉴于微信用户已经是一个很庞大的群体,让用户自助式实名制认证明显是不可取的,这里可以借鉴使用财付通的数据,由于财付通拥有第三方支付牌照,可以将财付通的实名制数据与微信账户关联,从而解决这个问题。
&&&&在对微信支付进行测试的过程中,除去多重绑定这个在逻辑设计上存在的一些问题,其他诸如数据加密传输、证书替换和中间人截断等测试,微信支付表现的还是很不错的,总体安全性还是比较可靠。
&&&&另外,移动支付领域从最初的电话、短信、网银到现在的手机支付、NFC支付等方式,未来也许还会出现类似苹果Touch ID指纹识别技术的生理特征支付方式。但无论哪种支付方式。敏感数据的加密、存储、传输永远是核心问题,敏感信息问题一天不解决,移动支付的普及就没有基础。扫码支付也好、声波支付也好、NFC支付也好,它们提供的只是一个更加简捷的支付方式,是最表象的东西,底层仍然是安全。
——微信支付篇&THE END——
注:文章内容仅供交流学习使用,拒绝任何不负责任的夸大传播。
做互联网必须要有创新思维!
请用360安全卫士
ThreeZhiWang
支付宝iOS的APP是能被GDB附上的,而且可以反汇编出OTP的汇编,而且定位到具体函数名,目前就是地址对不上,断点打不上。
想想这个还真有点用,某些场景下是可以实现的.比如我手里已经有银行卡号和对应手机号的数据,利用伪基站实现中间人攻击,截获系统发给手机的验证码,就可以实现微信帐号注册.
受微信坑了,给朋友充话费,第一次说账单出错,请重试,重试完重新开单提示成功,一看记录,成功了两笔
必须您当前尚未登录。
必须(保密)
这家伙太懒,还未填写个人描述!
关注我们 分享每日精选文章百思不得姐-内涵段子,冷笑话,搞笑图片,成人笑话,不得姐分享社区
现在的人怎么了,今天去加...
现在的人怎么了,今天去加油,我说微信支付。一边说一边掏出手机,工作人员,不但不理我,还准备打我。怎么了这些人
百思不得姐往日神贴
扫二维码 用手机看百思不得姐
百思不得姐网友都在看
关注百思不得姐
百思不得姐粉丝交流群现在的人怎么了,今天去加油,我说微信支付。一边说一边掏出手机,工作人员,不但不理我,还准备打我。怎么了这些人
今日已看00001条笑话
超过了1%的哈友Android接入微信支付完全解析,太全了~ - 简书
Android接入微信支付完全解析,太全了~
今天来聊聊,android中接入微信支付的需求,肯定有人会说,这多简单呀,还在这里扯什么,赶快去洗洗睡吧~~
那我就不服了,要是说这简单的,你知道微信支付官网多少吗,要是你一百度,下面全是广告,哈哈,你一不小心就掉坑去了,在简单的事,只要你想把他做好,其实也是很复杂的~
首先我们来到瞅瞅:
Paste_Image.png
可以看到这就是微信支付首页,下面有几种支付方式,而我们今天的主角就是APP支付,我们可以直接点进去,或者从左上角接入指引-APP支付,进去的文档式样的,如下图所示:
Paste_Image.png
肯定有人说,你贴这么有毛用呀,还浪费我流量...
别急让我给你说说这图有什么用,首先从这图你能看出从注册开发平台账号到完成支付接入需要哪些步骤,哪些资料,这样你可以让相关的人员事先去准备这些资料,而不是填完一步资料,在去找下一步资料,记住时间就是金钱,另外你领导说来给我讲讲微信支付那准备哪些资料,你没看过这文档,那我就只能呵呵了O(∩_∩)O~。另外哪些说支付简单的,有几个知道这张图,又有谁认真看过~~
可以看到是要加300块的,还需要企业的一些资料。
另外微信支付有两个平台分别是和
开发者平台:主要是针对开发者,比如:创建应用,获取appid商户平台:主要是商户上面的一些管理,比如:可以查看流水,订单呀
这里我只是演示怎么创建应用,最后不会用这个账号的,因为我这是个人账号,没法申请支付,只是给不会创建的朋友做一个演示,需要哪些资料而已,会的可略过~
首先我们来到,没有账号的先注册,这个我想不用演示了,直接演示怎么创建应用,首先你的登录完账号,点击管理中心-移动应用:
Paste_Image.png
点击左上角的创建移动应用,到如下界面,因为这里是测试,所有资料都是随便填啦
Paste_Image.png
点击下一步就来到了
Paste_Image.png
这一步让你填写,需要的平台,以及平台信息,我这里只悬着android,填入包名和签名,另外这里他没有想微博那样可以填入多个签名,那么这里我建议你一开始填入debug的签名,等调试通过了在填写正式签名,签名的获取方法和接入第三方登录是一样的。最后提交审核,等审核完以后,我们点击到应用详情,应该是这样的效果
Paste_Image.png
个人账号创建的应用审核通过后只有,分享功能,如果还需要支付,可以点击申请,然后认证账号并上传一些资料,这又是一个漫长的过程,这里我们就不了那么多了,现在直接说怎么在代码实现吧
运行官方demo
记住这里的支付demo是在商户平台的帮助里面下载,,而不是开发者平台下载的那个demo(以前是可以,现在这里下载的demo,里面剔除了支付),如下图,是这个页面:
Paste_Image.png
第一个是基础库,点击后会跳到开发者平台,第二个参数支付demo,当然里面也包含了分享等一些功能,可以说如果你既要做支付又要做分享,那么你只需要这个一个demo就行了,当然还得需要我这篇文章呀
下载完导入eclipse,替换debug.keystore然后运行,就可以看到如下界面,终于看到支付了,激动不已是不是
Paste_Image.png
然后我们就可以点击“跳转到支付界面”,看看什么效果呀,是骡子是马总的溜溜吧,看到这一面,感觉神清气爽,因为demo跑通了,呵呵~
Paste_Image.png
demo也看了,钱也付了,那我们现在就该开始接入支付了
正式接入支付
首先还是得上一张流程图呀,不然你知道怎么个逻辑?
这是这个文档的
,这是官方的解释
商户系统和微信支付系统主要交互说明:
步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。
步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。参见【统一下单API】。
步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay
步骤4:商户APP调起微信支付。api参见本章节【app端开发步骤说明】
步骤5:商户后台接收支付通知。api参见【支付结果通知API】
步骤6:商户后台查询支付结果。,api参见【查询订单API】
首要微信支付暴露给我的是两步,一步是生成预支付订单,然后那个预支付订单id再去调用微信支付,所以说这里就有两种实现方式了,一种是客户端处理这所有步骤,另外一种肯定是服务端创建与支付订单和签名,然后返回给我们,我们才拿着这些参数去调用微信支付。实际应用中,推荐使用服务那种,但是我这里讲的是本地怎么实现支付,如果你们是在服务端支付,那么你的告诉他你需要什么参数,他怎么创建预支付订单等
这是,另外这里由于我没有可用的支付所以,写demo我用的包名和key都是微信demo的
配置activity
&uses-permission android:name="android.permission.INTERNET"/&
配置回调activity
android:name=".wxapi.WXPayEntryActivity"
android:exported="true"
android:launchMode="singleTop"/&
public void testWxPay(View view) {
new Thread(new Runnable() {
public void run() {
String url = "http://wxpay./pub_v2/app/app_pay.php?plat=android";
ToastUtil.shortToastInBackgroundThread(getActivity(), "获取订单中...");
byte[] buf = Util.httpGet(url);
if (buf != null && buf.length & 0) {
String content = new String(buf);
Log.e("get server pay params:", content);
JSONObject json = new JSONObject(content);
if (null != json && !json.has("retcode")) {
req = new PayReq();
//req.appId = "wxf8b4f85f3a794e77";
// 测试用appId
req.appId = json.getString("appid");
req.partnerId = json.getString("partnerid");
req.prepayId = json.getString("prepayid");
req.nonceStr = json.getString("noncestr");
req.timeStamp = json.getString("timestamp");
req.packageValue = json.getString("package");
req.sign = json.getString("sign");
req.extData = "app data"; // optional
ToastUtil.shortToastInBackgroundThread(getActivity(), "正常调起支付");
Log.d("PAY_GET", "返回错误" + json.getString("retmsg"));
ToastUtil.shortToastInBackgroundThread(getActivity(), "返回错误" + json.getString("retmsg"));
Log.d("PAY_GET", "服务器请求错误");
ToastUtil.shortToastInBackgroundThread(getActivity(), "服务器请求错误");
} catch (Exception e) {
Log.e("PAY_GET", "异常:" + e.getMessage());
ToastUtil.shortToastInBackgroundThread(getActivity(), "异常:" + e.getMessage());
}).start();
private void toPay() {
// 在支付之前,如果应用没有注册到微信,应该先调用IWXMsg.registerApp将应用注册到微信
api.sendReq(req);
到这里如果你按照我的配置的话,正常情况下试可用调起支付界面了,如果出现-1,请检查是不是替换了debug.keystore,如果替换了,还是这样记得清空微信缓存
以上测试代码都在上,官方的下载的sdk包也在该仓库的docs目录下
如果我的文章对来带来的帮助,可加我微信,微博,QQ什么啥的交个朋友也是不错的,另外微信,微博都会不定期发一些优质的文章,感谢大家的支持~~,联系方式在我的个人介绍里啦
专注于移动开发!公众号:woblog,QQ群:,欢迎广大朋友骚扰~~

我要回帖

更多关于 去加油站打汽油证明 的文章

 

随机推荐