黑客教你如何用0.01 BNB“白嫖”CZ

CN
PANews
关注
1天前

作者:23pds & Thinking

编辑:Sherry

背景

昨天,当我还在整理APT 攻击相关的素材时,山哥(@im23pds) 突然激动地来到我的工位旁边:“Thinking,我发现了一个有趣的项目,CZ 在高频使用,我们或许可以 0 成本和 CZ Say Hi。”于是我们迅速拟定了几个可能的漏洞点:

  • 劫持CZ 在 ReachMe 的账号;
  • 更改CZ 在 ReachMe 的设置;
  • 不花钱给CZ 发消息,绕过给他发消息要花费 1 BNB 的限制。

大约在10 分钟后,我们发现可以在 ReachMe.io 低成本和任意用户 Say Hi 的漏洞,于是我们第一时间联系了项目方团队,并提供漏洞验证的详情。项目团队也在第一时间就迅速修复了该漏洞,同时联系我们进行复测。为 ReachMe 团队认真严谨对待安全问题的态度点赞!

黑客教你如何用0.01 BNB“白嫖”CZ

(https://x.com/SlowMist_Team/status/1905212712956665896)

此外,慢雾安全团队很荣幸获得了CZ 和 ReachMe 项目方团队的致谢。

黑客教你如何用0.01 BNB“白嫖”CZ

(https://x.com/cz_binance/status/1905240886986039437)

发现过程

ReachMe.io 是一个基于 BNB Chain 的付费聊天平台,旨在通过加密货币支付机制连接 KOL(关键意见领袖)与粉丝。用户向 KOL 发送私信需支付 BNB ,KOL 可获得 90% 费用(平台抽成 10%);若 KOL 5 天内未回复,用户可获 50% 退款。

2025 年 3 月 27 日,币安创始人 CZ 将其 X 账号简介改为:“DM: https://reachme.io/@cz_binance (fees go to charity)”,即“在 ReachMe 上 DM 我,费用将用于慈善”。

我们可以看到,和CZ Say Hi 的成本是 1 枚 BNB,于是我们设想了一些方案,并进行尝试,看如何绕过 1 枚 BNB 的限制来和 CZ Say Hi。

黑客教你如何用0.01 BNB“白嫖”CZ

和山哥一阵研究后,我们发现ReachMe 在给任意 KOL 发送消息的时候会通过“/api/kol/message”接口生成消息的概要信息,其中包含“_id”字段,这个字段是在发消息的时候附带到链上合约Function: deposit(string _identifier,address _kolAddress)使用,对应的是_identifier字段。

黑客教你如何用0.01 BNB“白嫖”CZ

并且给KOL 发送消息附带的 BNB 其实就是调用合约Function: deposit附带的BNB 数量,于是我们构造了一笔交易,将“Hi CZ”的消息对应的“_identifier”以及 CZ 的地址,并附带 0.01 BNB(最低仅需 0.001 BNB)发送给合约。

黑客教你如何用0.01 BNB“白嫖”CZ

由于ReachMe 在设计之初并没有将 KOL 预设的发消息成本放在合约中进行检测(或许是为了方便KOL 更好地随时调整消息的价格并且节省 Gas 费?),因此可以通过修改前端代码,修改网络响应包或者直接与合约进行交互来绕过 1 BNB 的限制。这是由于服务端在检索链上的交易时也遗漏了消息价格与链上交易的 BNB 数量的检查。

黑客教你如何用0.01 BNB“白嫖”CZ

于是我们用了大约10 分钟,成功绕过了和 CZ 对话要花费 1 BNB 的规则,仅花费了 0.01 BNB 就可以和 CZ Say Hi。

黑客教你如何用0.01 BNB“白嫖”CZ

另外,值得注意的是,其实还有更深一步的利用,如:给CZ 发有趣的消息,进行鱼叉钓鱼?鉴于 CZ 本人影响较大,后面就放弃了这部分测试,大家也多注意安全,谨防钓鱼。

总结

这类结合中心化与去中心化的产品设计,经常会出现链上和链下的安全检查不一致的情况。因此,攻击者可以通过分析链上链下的交互流程,绕过某些检查限制。慢雾安全团队建议项目方尽可能在链上和链下的代码中同步必要的安全检查项,避免被绕过的可能。同时,建议聘请专业的安全团队进行安全审计,以发现潜在的安全风险并加以防范。

免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。

ad
HTX:注册并领取8400元新人礼
广告
分享至:
APP下载

X

Telegram

Facebook

Reddit

复制链接