笔下小说网 > 都市重生 > 一亿梦醒:外卖首富的逆袭与救赎 > 第7章 数学的焰火——“可延迟到账”漏洞

第7章 数学的焰火——“可延迟到账”漏洞(1 / 2)

缅北 X 园区的 D 栋原来是间废弃中学,黑板裂着缝,粉笔字还留着“距离高考还有 36 天”。此刻却成了“话术培训室”。

李朝阳被编在“狗推三组”,花名“白猪”。凌晨 1:30,别的“猪仔”都去冲业绩了,他被单独留下“补课”——昨天他连续三次把“客户”聊到报警,业绩垫底。

“虎爷说了,再给你最后一次机会。”主管阿威用甩棍敲着讲台,“今晚背不完 30 页剧本,水牢自己游回去。”

灯管滋啦滋啦闪,李朝阳盯着黑板,脑子里却全是数字:

——今天 23 个“客户”,累计转账 187 万元,平均 8.13 万/人;

——系统要求 30 分钟内“分账”到 18 个三级卡;

——可实际到账时间平均 47 分钟,最快 21 分钟,最慢 93 分钟;

——为什么?

他天生对数字过敏。小时候家里开小卖部,他拿算盘当积木,把进货价倒背如流。送外卖那几年,他把整座城市的红绿灯周期背下来,写成 27×27 的矩阵,只为推算“最优送餐路径”。

现在,这套大脑自动把诈骗园区的“跑分”流程当成一道“动态规划题”。

今晚的“客户”是个上海阿姨,被骗 48 万。李朝阳故意把卡号写成“6228 4821 1234 5678 999”,最后三位999 是假位,银行会强制退回。

他挨了 20 鞭,但成功把 48 万“冻”在通道里。

回到宿舍,肋骨疼得睡不着,他拿指甲在墙上刻时间轴:

T0:客户手机银行发出转账指令

T1:转出行走大小额系统或超级网银

T2:接收行验证卡号、户名、开户行

T3:返回“成功/失败”报文

T4:园区后台刷新“到账状态”

问题出在 T2→T3:如果接收行发现“户名与卡号不符”,会挂起报文,最长可挂 24 小时。

但园区系统却提前把“成功”回执弹给“客户”,催促继续加码。

——这是“时间差”。

——时间差 = 窗口期。

——窗口期 = 生机。

老 K ,因赌球欠 800 万被卖进来。李朝阳在操场放风时,用馒头渣摆出“Fibonai”数列,成功吸引了这位理工男。

“你想逃?”老 K 推了推碎了半边的眼镜。

“我想救人,也想自救。”李朝阳在地上画了一条时间轴,“如果我们能把‘失败’回执延迟 30 分钟,就能让受害人多 30 分钟醒悟,也给自己 30 分钟‘假业绩’,少挨打。”

老 K 愣了 3 秒,突然把馒头全塞进嘴里:“兄弟,你缺的是数据,我缺的是自由。干!”

园区“技术部”设在行政楼 3 层,门口 24 小时有枪兵。老 K 因为会写代码,被调去帮忙维护“跑分后台”,每周三可以进机房。

周三凌晨 2 点,李朝阳故意在厕所点燃一卷卫生纸,触发烟感。守卫跑向厕所,老 K 趁机把 32G 的 U 盘插进服务器,dup 了最近 7 天的“订单+银行回执”日志。

日志文件 4.3G,加密压缩。老 K 把文件切成 1024 片,伪装成“美女头像”jpg,通过内网 QQ 发给自己小号。

第二天放风,他把 U 盘吞进肚子,再拉出来,交给李朝阳。

——这是他们的“数据隧道”。

拿到日志后,李朝阳用 3 个晚上,把 4.3G 文本全读进大脑。

他在墙上画了一张“ heat-ap”:

横轴——时间(0-24h)

纵轴——银行名称(工行、农行、招行…)

颜色——到账延迟(绿≤30,黄 30-60,红>60)

规律浮现:

1. 工行、建行 23:00-02:00 黄色最浅,延迟最低;

2. 邮储、农商 15:00-17:00 红色最深,延迟最高;

3. 招行、平安 12:00-13:00 出现“绿色尖峰”,但 12:30 突然全部变红。

李朝阳把招行 12:30 的 312 条日志单独拎出来,发现:

——所有“失败”回执都在 12:30:45 这一秒集中返回;

——而“成功”回执却提前 45 秒,在 12:29:60 批量出现。

“12:29:60?时间戳怎么会有 60 秒?”老 K 瞪大眼。

“说明系统造假,服务器把时间写死了。”李朝阳用指甲划出一条竖线,“如果我们能让‘失败’也卡在 12:29:60 这一帧,就能制造‘假成功’,把真失败隐藏 30 分钟。”

园区后台用 MySQL,时间字段 dateti 默认精确到秒。老 K 找到一段 Java 代码:

```java

SipleDateForat df = new SipleDateForat(yyyy-MM-dd HH::ss

Strg ts = df.forat(new Date);

```

——服务器时间来自本地 NTP,NTP 可以伪造。

但园区网管把外网 NTP 全封了,只剩 10.0.0.1 这台“主时钟”。

老 K 提出:用区块链区块时间做“第三方时钟”。

——BTC 平均 10 分钟一个块,时间戳不可回滚;

——他们把 区块的 hash 前 8 位转成十进制,除以 60,取余数,得到“偏移量”;

——再用偏移量去“回拨”服务器本地时间,最多回拨 59 秒。

只要让“失败”回执落在“回拨区间”,就能把时间写成 12:29:60,而真实世界已经过去 30 分钟。

——他们给这个漏洞起名:Dey-59。

4 月 7 日,周六,园区“月度冲刺”。虎爷放话:单日流水破 5000 万,全员加鸡腿;破不了,随机抽 10 个人“沉塘”。

李朝阳主动请缨:“给我 50 个客户,我冲 500 万。”

阿威狐疑,但还是分了 50 条“鱼”给他。

中午 12:25,李朝阳把 50 张“接收卡”全部设为招行二类电子卡(单日限额 1 万),再把户名故意写成“朝日先”。

12:29:15,他在后台脚本里触发 Dey-59,服务器时间被回拨 42 秒。

12:29:60,系统批量生成“成功”回执,实际银行正在排队验证。

客户看到“到账成功”,被引导继续加码。

——30 分钟里,50 人又追加了 318 万。

13:00,银行批量返回“户名不符”,资金原路退回。

但园区账面已经计入 818 万,李朝阳“业绩”第一。

虎爷大喜,亲自给他发“金牌狗推”勋章。

——Dey-59 首战成功。

漏洞用多了,必然暴露。

4 月 15 日,技术部发现“招行电子卡”异常退款率 62%,而工行只有 3%。网管在日志里看到大量 12:29:60 这种“幽灵时间”,立刻上报。

虎爷下令:彻查。

老 K 被反铐在机房,笔记本电脑砸得稀烂。

李朝阳被吊在操场,胸口烙铁印“狗”。

但两人早就做了“B 计划”:

——把 Dey-59 拆成 7 个碎片,分别藏在 7 台不同服务器的脚本里;

——触发条件改为“收到指定短信验证码”,验证码就是外卖暗号“多加香菜”。