篡改微信余额技术可刑性研讨 2.0

8621f2c7ab509ffd035003f0dfe82fb4.gif

作者 | Louis

出品丨腾讯云开发者

在《论篡改微信余额的技术可刑性》一文发出去后,收到了许多给小帅的建议:

  1. 有说应该买好机票,改完余额趁系统发现之前跑路的。

  2. 有说不能改余额,应该从别人的账户里薅的。

  3. 有说可以用 ps 改的,好好好,自己给自己带来情绪价值是吧?图我给你 p 好了,拿去发朋友圈!

50b4579866eec93889066c5992f6c644.png

评论区都很刑,也很可拷,说话又好听,看你们跃跃欲试的样子,真的很有判头。

于是我觉得就还是很有必要解答一下大家的疑问和建议。

0d7752399c4680732ef13e7ec8f8ed9a.png

数据库做签名能不能防篡改?

这是网友私信的建议,签名当然是有点用的,但又不完全有用。

81960bf113652a5352267f46dab67548.jpeg

例如可以给(账户 ID+账户所有者+账户余额)加一个联合签名,只要数据被篡改,下一次读取验签的时候就能发现。但这一招只能防君子不能防小人,既然都决定要篡改数据了,重新计算一下签名,把签名一起改掉也不难吧?君子不会去改数据,小人弄到一个签名算法也不是难事,因此这一招意义不大。

05f61ce7cea3c7eb25464f043ee965c0.png

能不能改完余额,趁对账没发现赶紧跑?

有朋友敏锐地观察到,对账手段都是事后的,也就是说在篡改余额和被发现之间有一个时间差,利用时间差跑路是不是就安全了?

太天真了兄dei,改完余额要想获利是不是得提现?那么在提现的时候就会遇上风控拦截。

662515a1abafb08cbe83dea2299ee3d4.jpeg

风控是基于大数据对用户画像进行分析,特别是对巨额提现行为,如果不符合该用户日常的操作,会对这一请求进行拒绝。

那既然提现走不通,直接把钱花掉可以吗?比如花4500万买一根香蕉?同样行不通,支付的时候一样有风控,类似请求可能会被反洗钱策略拒绝。

d8b20f4e71437c0104ff2df79e7c6c54.png

不改余额了,改一下提现不校验余额可以吗?

不通过改数据,而是找到提现链路中的关键环节,绕过余额校验,能提现成功吗?

首先,改代码的难度要比改数据还要高,改代码需要经过代码审核(Code Review),还需经过自动化测试,还未把代码发布到线上就已经被发现了

其次,前面说了提现需要过风控的,在这里同样会拦截。

最后,即便悄摸摸地把代码发布了,把余额检查和风控都绕过去,在系统上依然有防控措施。

2dbbd6d7f052a3ce3ebca0989adbb81b.jpeg

这里除了有风控拦截,还有渠道打款的余额二次校验和其他校验,所以绕过余额检查是不可能提现成功的

d7a1de308fb45cd1b2fa86a02806073b.png

能不能从其他人的账户中转1元到自己的账户?

有人在评论区提到从沉睡账户中薅钱,100w个沉睡账户,每个1元也是一笔不小的收入是吧?

这当然不行!要完成转账也需要核身,就是证明你是你才可以完成转账,前台的功能走不通,只能后台改数据了。

但你觉得改数据也容易吗?

  1. 怎么筛选 100w 个沉睡账户?你得先有查询权限并且知道怎么筛选出来。

  2. 修改 100w 个账户的余额和流水,要改200万条数据。

  3. 为了绕过账证核对,还要新增 100w 条转账记录。转账记录和账户余额可不在同一个数据库里面。

1522eb432847132019d91aacab4854bd.jpeg

好不容易把几百万条 SQL 准备好了,准备开始执行,由于数据量过大需要分批执行,假设每秒钟修改1000条记录,修改 300w 条就需要大约50分钟。在执行期间:

  • 账证明细核对可以做到分钟级,我保证技术小哥10分钟之内就会找到你

  • 在转账系统的后台监控发现,数据库的变更数远高于接口请求数,你自以为神不知鬼不觉,但在监控曲线前无处遁形;

  • 因为改动数据量太大,100w 个用户中有1个人发现账户少了1元,发起了投诉,客服和技术人员通过排查发现数据被篡改。

906dbf59bd14ff062b2afe729f96079c.png

资金风险防控体系

经过两轮的讨论,大家应该会发现资金风险防控从来不是点状的,而是形成一个网状结构,仅仅从单点突破,几乎都很难从这个网撕开一个口子。这也是我们资金人的职责所在:保护用户放在我们这的每一笔资金。

本文经授权转载腾讯云开发者,如需转载,请联系👇

fa987705ae53d19de0832134e25f28ac.gif

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值