
排查结论:我们项目不存在此漏洞 ✅
一、漏洞原理回顾
旧版 tt_credits/ttPay 的洞在于:发帖时 content_num 可填负数,导致买家购买时按负价"扣币"实际变成"加币"——账号 B 发负价帖,账号 A 购买 = A 金币 +=N、B 金币 -=N,刷币完成。
二、系统核心排查
检查项 | 结果 |
|---|---|
install.sql 是否有 | ❌ 无 |
系统核心是否有 | ❌ 无 |
是否有代码绕过 CreditsService 直接 | ❌ 无 |
系统核心根本没有"帖内付费"机制,漏洞入口不存在。
三、积分流转防御层(CreditsService.php)
PHP
// add() line 35
if ($amount <= 0) return ['ok' => false, 'message' => '增加金额必须大于0'];
// line 51 — 钩子修改量也强制 abs 转正
$amount = abs(intval($hookResult['amount']));
// sub() line 103
if ($amount <= 0) return ['ok' => false, 'message' => '扣减金额必须大于0'];
// line 118 — 同样 abs
$amount = abs(intval($hookResult['amount']));任何传入负数的 add/sub 都会被拦截,钩子也无法翻转方向。
四、付费插件双重防护(均走 CreditsService)
插件 | 价格校验 | 流向 |
|---|---|---|
xnx_hidden L618 |
| 买家 sub、作者 add 正向计算收入 |
xnx_reward L140 | `if (amount<min | |
xnx_attach_access L445 |
| 买家 sub、作者 add 正向计算收入 |
排查结论:我们项目不存在此漏洞 ✅


