前言
微信支付安全是见到过的比较多的,小到几块十几块的零食,大到几千块的手机电脑。
去网上查了一下关于这方面的介绍比较少。
最近有时间,所以就整理了一下,发出来,希望做微信支付对接的时候注意下安全问题。
上图来自最近QQ群截图,现在fiddler工具已经泛滥,混“ 羊毛圈子 ”的基本人手都会;
web
web发展到现在,使得微信web端变得方便,很多人喜欢用微信支付。
因此很多企业看中这个商机,去开发微信端的商城。简单点儿的一个话费充值系统。
复杂的就是一个完整的电商购物平台,等等。这种都牵扯到了支付。
H5制作越来越开放化,学习起来难度也越来越低,如果让对网络安全了解不深的人来做web网页支付的话,很容易被抓取数据。
曾经看过一个新闻,说的是有个刚上线的微信支付项目,生意一直惨淡,突然有一天订单,成百上千倍的递增,还在欢呼之际,殊不知财务已经崩溃,全是500的订单,财务查账只有1分钱。
很多企业积极投入去做支付模块,况且现在微信用户市场这么庞大,支付也是电商的入门功能。谁不想天天看着哗哗的银子入账;不管利润多少,起码满足了心理上的需要。
Fiddler
Fiddler是一款强大的网络调试工具,简称FD。
一般是网络调试人员用来调试网络,测试链接性能的工具。
合理使用fd可以网络访问性能,利用网络优化,增加用户的体验速度。
因为现在web端的底层协议都是基于http所开发的。fd可以在这个网络请求过程中拦截,把自己作为代理,去跟服务器通信,有些服务器识别差的,进行数据传送的时候就被fd给捕获了。
举个例子来说,我要充值100块钱话费,先选择100块钱话费,然后服务器会获取到我的充值100请求,然后会根据选择的额度来确定要收取的费用,返回给我需要100元的缴费信息。
在这里如果使用fd拦截一下,那么微信端是收不到返回请求的,因为这里结果被fd代接收了。
那么fd代接收之后呢?有些可以通过返回的数据,看到返回的缴费金额,如果恶意修改金额,然后再释放,客户端接收到的就是拦截后修改过的数据了。
Fd学习起来很简单,只需要对手机简单的配置就可以了,具体方法请自行百度。用起来也简单,唯一复杂的就是找数据,就是找到需要修改的数据,有些会对数据加密,能加密,自然也就能解密。
支付有风险、开发需谨慎
见过最多泛滥的时候,一天有好几个公众号的漏洞被曝光。
因为漏洞是以“ 线报 ”的形式被扩撒,很快就损失几万到几十万,这里边很多是追不回的。因为网友是遍布全国在各地的,用漏洞冲几百话费,你会去追查?就好比你在大街上拿了几十万现金漏了,被路过的人捡去了一个道理。
虽然几百对个人来说没有多少钱,但是对企业来说,损失的可就不少了。而且容易出现这种严重bug的往往都是小公司,安全方面人手不足。开发人员经验又不够。一个漏洞就有可能导致公司的正常运转,而且你也没地方去说。
当然也有被JC叔叔带走的,毕竟能挽回一部分是一部分。
小结
第三方支付虽然方便,但是也有一定的风险。
小企业往往是几个岗位一个人管,像做实物的,如果财务那边不及时发现的话,那损失就更大了。一些卖高端产品的,等货到手了,再想追回就难了。
所以一定要重视对支付时数据的调用以及回调时候的通信加密,先用fd测试一下,确保数据安全。
现在webapp上的通过第三方支付特别是微信支付是最容易被非法拦截篡改数据的。
而且微信将推出应用号,届时会有更多的企业加入进来。支付安全也将面临着巨大挑战。
__ 本文只为web端的第三方支付交流。
有疑问,或需要补充可以给我发简信。
新手上路。欢迎指导!
__