XIUNOX 是否有被刷金币的漏洞?

管理

cefe451eb56a92c075e8996dab60054e.webp

排查结论:我们项目不存在此漏洞 ✅

一、漏洞原理回顾

旧版 tt_credits/ttPay 的洞在于:发帖时 content_num 可填负数,导致买家购买时按负价"扣币"实际变成"加币"——账号 B 发负价帖,账号 A 购买 = A 金币 +=N、B 金币 -=N,刷币完成。

二、系统核心排查

检查项

结果

install.sql 是否有 content_num/pay_status/paid_amount 字段

❌ 无

系统核心是否有 cPay/thread-create 付费逻辑

❌ 无

是否有代码绕过 CreditsService 直接 db_update('user', ..., 'golds/credits/rmbs')

❌ 无

系统核心根本没有"帖内付费"机制,漏洞入口不存在。

三、积分流转防御层(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

if ($creditAmount <= 0) 拒绝

买家 sub、作者 add 正向计算收入

xnx_reward L140

`if (amount<min

xnx_attach_access L445

if ($amount <= 0) 拒绝

买家 sub、作者 add 正向计算收入

排查结论:我们项目不存在此漏洞 ✅

最新回复

请先登录后再回复 登录