因友人手机被盗,来电咨询账户安全问题,我昨晚研究了一晚上,发现微信支付上可能有个漏洞,尝试了很久,没找到解决办法。下面详述一下,供使用微信支付的微友们参考,注意设防,也希望如果测试结果属实,微信官方能注意到这个信息,予以分析和改进。
微信付款码刷码支付时,打开付款码后是不需要另外输入密码的,只要进入了`服务',付款码就能被打开,就能被Bi的一声刷码扣钱。我发现的问题有两点,介绍如下。
一、进入能够支付的唯一通道`服务'虽然可以设置手式密码或指纹密码,但进入后再退出来,在一定时间(我测试貌似是1分钟或几十秒,也可能更长)内再点服务,无需密码就能再次进入并打开付款码,如此可以无限多次无需密码进入服务和打开付款码刷码,这样,在极端情况下是有被无限次盗付风险的,比如刚刚退出服务手机就被盗,对方就可以迅速再次进入服务多次打开支付码进行盗付。
二、微信支付功能与银行卡绑定,零钱扣完了它就会自动从银行卡扣,这样实际上用户对零钱账户数额失去了限制能力,拿到他人手机并只要顺利进入服务的人,就可以刷完手机里的零钱后继续刷银行卡内的钱。
而且我还发现,现在微信端好像已经取消了用户自己设置支付限额的权限(记得旧版本可以,我现在的版本是8.0.49),反正我找了一晚上没找着该如何设置(在支付设置内已经没有了这一功能,截图后附。)
另外,手机系统的桌面图标密码锁(应用密码锁)功能也有类似问题,设置了密码锁后,照理每次从微信退回桌面后再点微信图标,都应该要求输入密码才能打开微信,但我发现也是在一定时间内再次去点,根本就无需输入密码就点开了。进一步测试熄屏以后密码有作用,但只要屏是亮着的,貌似较长时间都无需密码就能点开。本人两个手机一个是安卓系统,一个是Harmony(鸿蒙?)系统,都是这样。
目前看,无论是在微信内进入支付服务,还是从桌面点开微信图标,我测试都有这个无需密码(尽管已经设置了密码)的时间窗口,虽然时间较短,但对于无孔不入的小偷高手来说却是一个盗刷良机,是个可以轻易利用的黄金窗口。模拟一个场景,比如你在付款支付时旁边恰好是一个知道这个漏洞并居心不良的人,而你提着采购的东西手忙脚乱之间,临时把手机放在框台上腾出手整理东西,被他在你忙乱的不注意之间迅速拿走你的手机,然后立即开始操作,无论是点开微信图标还是点开后进入微信的支付服务,由于时间尚短无需密码,他都可以轻易地打开支付码连续刷码支付,刷光你零钱账户上的钱后,又自动转向你绑定的银行卡,不断刷码盗付。
最后一个问题,貌似微信支付现在无法自行设定单笔单日限额了(我试来是这样,记得以前可以),支付多少钱完全依赖于银行卡的支付限额设置,十分不方便,而且很多人亚根不会设置银行卡的支付限额(是支付限额,不是转账限额,大部分银行卡的缺省设置支付限额是10万,看到这里的微友不妨问下自己重新设置过了吗),这就进一步加剧了风险。
如果以上测试不是我的个人操作问题或手机原因导致,应该说就是微信支付设计上的一个安全缺陷(点开桌面图标问题倒不是微信问题,而是操作系统问题)。大家也最好试试看是不是这样。根据本人目前测试的结果,我认为应该尽快把进入支付服务和从桌面点开微信图标的这个虽然用户已经设置了密码但在一定时间内却无需密码的时间窗口取消。希望微信官方和手机系统官方能看到和重视这个信息,以策用户支付安全。
再次说明,本人因能力有限,不确定以上测试结果是不是正确的,有赖大家共同测试、澄清、证实,如系本人测试错误或不严谨所致,请忽略。

