作者:23pds & Thinking
昨天,當(dāng)我還在整理?APT 攻擊相關(guān)的素材時,山哥(@im23pds) 突然激動地來到我的工位旁邊:“Thinking,我發(fā)現(xiàn)了一個有趣的項目,CZ 在高頻使用,我們或許可以 0 成本和 CZ Say Hi。”于是我們迅速擬定了幾個可能的漏洞點(diǎn):
劫持?CZ 在 ReachMe 的賬號;
更改?CZ 在 ReachMe 的設(shè)置;
不花錢給?CZ 發(fā)消息,繞過給他發(fā)消息要花費(fèi) 1 BNB 的限制。
大約在?10 分鐘后,我們發(fā)現(xiàn)可以在 ReachMe.io 低成本和任意用戶 Say Hi 的漏洞,于是我們第一時間聯(lián)系了項目方團(tuán)隊,并提供漏洞驗證的詳情。項目團(tuán)隊也在第一時間就迅速修復(fù)了該漏洞,同時聯(lián)系我們進(jìn)行復(fù)測。為 ReachMe 團(tuán)隊認(rèn)真嚴(yán)謹(jǐn)對待安全問題的態(tài)度點(diǎn)贊!

(https://x.com/SlowMist_Team/status/1905212712956665896)
此外,慢霧安全團(tuán)隊很榮幸獲得了?CZ 和 ReachMe 項目方團(tuán)隊的致謝。

(https://x.com/cz_binance/status/1905240886986039437)
ReachMe.io 是一個基于 BNB Chain 的付費(fèi)聊天平臺,旨在通過加密貨幣支付機(jī)制連接 KOL(關(guān)鍵意見領(lǐng)袖)與粉絲。用戶向 KOL 發(fā)送私信需支付 BNB ,KOL 可獲得 90% 費(fèi)用(平臺抽成 10%);若 KOL 5 天內(nèi)未回復(fù),用戶可獲 50% 退款。
2025 年 3 月 27 日,幣安創(chuàng)始人 CZ 將其 X 賬號簡介改為:“DM: https://reachme.io/@cz_binance (fees go to charity)”,即“在 ReachMe 上 DM 我,費(fèi)用將用于慈善”。
我們可以看到,和?CZ Say Hi 的成本是 1 枚 BNB,于是我們設(shè)想了一些方案,并進(jìn)行嘗試,看如何繞過 1 枚 BNB 的限制來和 CZ Say Hi。

和山哥一陣研究后,我們發(fā)現(xiàn)?ReachMe 在給任意 KOL 發(fā)送消息的時候會通過“/api/kol/message”接口生成消息的概要信息,其中包含“_id”字段,這個字段是在發(fā)消息的時候附帶到鏈上合約?Function: deposit(string _identifier,address _kolAddress)使用,對應(yīng)的是?_identifier?字段。

并且給?KOL 發(fā)送消息附帶的 BNB 其實就是調(diào)用合約?Function: deposit?附帶的?BNB 數(shù)量,于是我們構(gòu)造了一筆交易,將“Hi CZ”的消息對應(yīng)的“_identifier”以及 CZ 的地址,并附帶 0.01 BNB(最低僅需 0.001 BNB)發(fā)送給合約。

由于?ReachMe 在設(shè)計之初并沒有將 KOL 預(yù)設(shè)的發(fā)消息成本放在合約中進(jìn)行檢測(或許是為了方便?KOL 更好地隨時調(diào)整消息的價格并且節(jié)省 Gas 費(fèi)?),因此可以通過修改前端代碼,修改網(wǎng)絡(luò)響應(yīng)包或者直接與合約進(jìn)行交互來繞過 1 BNB 的限制。這是由于服務(wù)端在檢索鏈上的交易時也遺漏了消息價格與鏈上交易的 BNB 數(shù)量的檢查。

于是我們用了大約?10 分鐘,成功繞過了和 CZ 對話要花費(fèi) 1 BNB 的規(guī)則,僅花費(fèi)了 0.01 BNB 就可以和 CZ Say Hi。

另外,值得注意的是,其實還有更深一步的利用,如:給?CZ 發(fā)有趣的消息,進(jìn)行魚叉釣魚?鑒于 CZ 本人影響較大,后面就放棄了這部分測試,大家也多注意安全,謹(jǐn)防釣魚。
這類結(jié)合中心化與去中心化的產(chǎn)品設(shè)計,經(jīng)常會出現(xiàn)鏈上和鏈下的安全檢查不一致的情況。因此,攻擊者可以通過分析鏈上鏈下的交互流程,繞過某些檢查限制。慢霧安全團(tuán)隊建議項目方盡可能在鏈上和鏈下的代碼中同步必要的安全檢查項,避免被繞過的可能。同時,建議聘請專業(yè)的安全團(tuán)隊進(jìn)行安全審計,以發(fā)現(xiàn)潛在的安全風(fēng)險并加以防范。