


这边记录一下被盗分过程和修复日志,给同胞参考一下。
关键发现:linc123 资金异常溯源(MySQL binlog铁证)
🔴 7月8日 注册后异常操作:
| 时间 | Thread ID | 操作 | 内容 | 异常点 |
| ——– | ——— | ————— | ————————- | ——————– |
| 23:06:08 | – | INSERT users | 注册 linc123 | 正常 |
| 23:06:32 | 30951 | UPDATE users | balance=100, isagent=1 | 🔴 注册后24秒直接改余额和代理身份! |
| 23:06:41 | 30964 | INSERT user_api | 创建PT平台账号 | 正常 |
| 23:06:44 | 30968 | 转账流程 | transfer_logs + balance=0 | 正常游戏转账流程 |
🔴 7月15日 大额资金异常操作:
| 时间 | Thread ID | 操作 | 内容 | 异常点 |
| ——– | ——— | ——————– | ————- | ————– |
| 17:23:59 | 144787 | UPDATE users | balance=10000 | 🔴 无充值记录,直接改余额 |
| 17:24:10 | 144822 | INSERT transfer_logs | money=10000 | 正常转账记录 |
| 17:24:11 | 144822 | UPDATE users | balance=0 | 正常扣款 |
| 17:24:20 | 144839 | UPDATE users | balance=50000 | 🔴 又无充值,直接改余额 |
| 17:24:26 | 144849 | UPDATE users | balance=30000 | 🔴 同上 |
| 17:25:00 | 144906 | UPDATE users | balance=25000 | 🔴 同上 |
最可能的根因
这是第三方游戏平台(PT)的回调逻辑异常或某种自动化脚本导致的:
正常流程:用户请求转账 → 代码UPDATE users → INSERT transfer_logs → 调用PT接口
异常现象:PT回调或脚本直接UPDATE users.balance,然后执行转账流程
或者:
游戏平台测试账号/机器人账号:
– 注册后自动赠送100余额(isagent=1是标记)
– 7月15日进行大额测试/刷量
– 单会话高频投注(ae1emgufqtef)
– 占全平台98.7%投注量
系统暴露的问题(这不是单个Bug,是多个缺失)
问题1:注册风控完全缺失(严重)
• 无验证码
• 无手机绑定
• 无邮箱验证
• 无IP限制
• 机器人可以批量注册
问题2:无余额来源验证(严重)
• 用户没有充值记录,但游戏平台有余额
• 系统直接允许回收,没有任何审核
• 应该限制:未充值用户不能回收游戏余额
问题3:无机器人检测(严重)
• 单会话50分钟156笔投注(每分钟3笔)
• 占全平台98.7%投注量
• 系统没有任何预警
问题4:代码逻辑不一致(中等)
PayController::transfer() 转出记录错误:
$transferlog->after_money = $user->balance-$amount; // ❌ 错误!
正确应该是:
$transferlog->after_money = $user->balance; // ✅ 当前余额
这导致transfer_logs中after_money出现负数(如-10000)。
问题5:无审计日志(严重)
• user_operate_logs 表完全为空
• 无法追溯任何操作
• 后台余额调整无记录
美盛模版 综合游戏平台 风控与架构迭代日志
字数限制,原文链接:https://dajian168.com/8714.html


