# 对移动支付的一些简单安全探测
0x00 背景
——-
* * *
2013年互联网金融对的发展令人震惊。不论是网上银行、移动支付、三方支付、个人贷款都在迅速崛起。工作需要,上年12月初步探测(不能说研究)了下微信支付,其他小伙伴做的支付宝,现在就将探测到的一些成果比较后分享下。
概念性东西,例如[微信支付](http://baike.baidu.com/link?url=yTUB8RXIwoiiso0C3-W2TTDMpYtvgHQF2VPdjbZ2gpZcI1RgWsQ-vT0Z3TZthW6)不做过多说明,不了解的去看下百科。支付宝是小伙伴在研究我也不算很清楚,不过拿他测试的结果来和微信支付做下比对以更好的说明问题。
0x01 微信支付与支付宝钱包简单介绍
——————-
* * *
#### 微信版本号:5.1
#### 支付宝钱包版本号:7.6
微信支付的整体消费流程是这样子的:
“`
微信账号—>绑定—>验证—>设置支付密码—>消费
“`
为了更好的测试,我就绑定了自己的银行卡并消费。具体过程百科已经很详细贴个图说明下,绑定结果。大企鹅的绑定验证过程是怎样的呢?经过自己的测试我们不难发现验证过程是这样子:
1.初次绑定卡:
![2014021722074747557.jpg](http://drops.javaweb.org/uploads/images/f51830ebc12f033c2ad7d292c847837960f59203.jpg)
再次绑定其他卡相对简单只需要,预留手机、手机验证码。(这时候你会发现该微信只能绑定以第一张开户的户主的其他卡片,想绑定其他人卡与该微信对不起客官,不可以)。当以上信息同时满足时,银行卡便被微信绑定,支付时只需要
“`
—>支付密码(6位数字)
“`
不同的行银行卡最高限额不同。
支付宝钱包消费:
“`
支付宝账号—>消费支付宝、消费信用卡、消费储蓄卡、消费余额宝
“`
消费方式有三种:
“`
1.复杂支付密码
2.数字支付密码(6位)
3.小额面密。
“`
仍用一张图说明3种支付方式的依赖关系:
![2014021722251656217.jpg](http://drops.javaweb.org/uploads/images/581c8be14055ab94a6a32527de014a03b7be98c9.jpg)
0x02 探测结果及比对
————
* * *
经过以上的消费过程,我们不难发现这些的全部过程我们的银行卡密码是完全没有用到的。ok,个人认为这些可称作快捷支付吧?那么我们的银行卡会不会被别人恶意绑定并消费呢?看微信给出的答案:可以。支付宝钱包给出的答案是:不可以。为什么呢?我们来分析下:
微信的绑定过程在上面已经了解过了:重新去注册个新的微信按以上步骤去绑定、消费。我们发现是完全行的同的。而且不同的微信账号,设置不同的支付密码去同时消费同一张银行卡。绑定过程:卡号+身份证+卡片预留手机号+手机验证码。做一个不要脸的假设,社工搜集(可以对自己的同事下手,哈哈)一旦搞定手机(借收机打个电话、也有小伙伴说补卡)你钱就没了。小心同事借你手机打个电话你的银行卡上的钱就莫名其妙的少了………… 恭喜你,他可以随意消费你的银行卡了。
“`
卡号+身份证+预留手机+验证码—|—|–>钱少了
“`
一个图说明下银行卡和微信直接多对多(一个微信可以绑定多个第一个卡片户主下的其他卡片)的关系:
![2014021722512821935.jpg](http://drops.javaweb.org/uploads/images/9d4f74193ee96620ff97431dd80a9b109953b856.jpg)
那么支付宝钱包为什么不可以呢?我们都知道,注册支付宝的时候会有实名验证,而且你一但注册是不能二次注册的。而后期的消费过程中密码设置更是逐层要求相加。例如你想小额免密支付,必须有以上两个密码设置。支付宝安全首先从,根本抑制了以上微信中的问题。当然Tencent注册的底层基数已经不可能抑制,那么是不是从安全角度去思考是不是该比阿里做的好点呢?为了表明本次探测的真实性,贴几张探测过程中的图片证明:
同一张卡被不同微信绑定:
![2014021723042841558.jpg](http://drops.javaweb.org/uploads/images/ff1e7272a85d1ebb979a0d7aebd95bf7ec2c8aeb.jpg)
![2014021723044869418.jpg](http://drops.javaweb.org/uploads/images/88d7db6b9519fa01860be1ab3800490373656963.jpg)
两个手机最后消费成功的证明:
![2014021723062713981.jpg](http://drops.javaweb.org/uploads/images/ba64c716dbdfa0ba46473b5e42fc227f506f78a7.jpg)
![2014021723064957054.jpg](http://drops.javaweb.org/uploads/images/bace2eaf5d3960c05ee90693343a5bae61b13cfc.jpg)
根据上面的图标我们可以清晰的分辨事实的可行性。
0x03 其他
——-
* * *
本diaosi,在Java空白加上本身编程能力不强,所以没对相关apk做反编译。另外,对于微信银行做了简单探测,发现绝大数都是跳到自身银行WAP页面进行的相关操作,要想做神一步的研究需要伪造生成证书,过程较麻烦且数据量大,所以没有诸个测试。数据传输和数据存储部分没技术不过关没发现什么东西,有兴趣的小伙伴可以研究一下。本文仅仅起到抛砖引玉的作用,移动安全、互联网金融是热门,大家冲啊!
请登录后查看评论内容