著者: 23pds & Thinking

編集者: シェリー

背景

昨日、APT攻撃に関する資料を整理していたところ、Shan兄弟(@im23pds)が突然興奮して私のワークステーションにやって来て、「考えてみると、面白いプロジェクトを見つけた。CZは頻繁に使われている。コストゼロでCZに挨拶できるかもしれない」と言いました。そこで、私たちはいくつかの潜在的な脆弱性ポイントをすぐに作成しました。

  • ReachMe で CZ のアカウントを乗っ取る。
  • ReachMe で CZ の設定を変更します。
  • CZ にメッセージを送信する際の 1 BNB 制限を回避して、CZ に無料でメッセージを送信します。

約 10 分後、ReachMe.io に、低コストで任意のユーザーに Say Hi を送信できる脆弱性が見つかったため、すぐにプロジェクト チームに連絡して脆弱性の検証の詳細を提供しました。プロジェクトチームも脆弱性をできるだけ早く修正し、再テストのために私たちに連絡しました。 ReachMe チームのセキュリティ問題に対する真剣な姿勢が気に入っています。

ハッカーが0.01BNBでCZを無料で入手する方法を教えます

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

さらに、SlowMist セキュリティ チームは、CZ と ReachMe プロジェクト チームから感謝の言葉をいただいたことを光栄に思います。

ハッカーが0.01BNBでCZを無料で入手する方法を教えます

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

発見プロセス

ReachMe.io は、BNB チェーンをベースとした有料チャット プラットフォームであり、暗号通貨の支払いメカニズムを通じて KOL (キー オピニオン リーダー) とファンを結びつけることを目的としています。ユーザーはKOLにプライベートメッセージを送信するためにBNBを支払う必要があり、KOLは手数料の90%を受け取ることができます(プラットフォームは10%を受け取ります)。 KOLが5日以内に応答しない場合、ユーザーは50%の払い戻しを受けることができます。

2025年3月27日、Binanceの創設者CZは自身のXアカウントのプロフィールを「DM: https://reachme.io/@cz_binance (手数料は慈善団体に寄付されます)」に変更しました。これは「ReachMeで私にDMを送ってください。手数料は慈善団体に寄付されます」という意味です。

Say Hi to CZ のコストは 1 BNB であることがわかったので、いくつかの解決策を考え、Say Hi to CZ の 1 BNB の制限を回避する方法を検討しました。

ハッカーが0.01BNBでCZを無料で入手する方法を教えます

Shan Ge と調査した結果、ReachMe が KOL にメッセージを送信すると、「/api/kol/message」インターフェースを通じてメッセージの要約が生成され、「_id」フィールドが含まれることがわかりました。このフィールドは、メッセージを送信するときにオンチェーン コントラクト Function: deposit(string _identifier,address _kolAddress) に添付され、_identifier フィールドに対応します。

ハッカーが0.01BNBでCZを無料で入手する方法を教えます

そして、KOL に送信されたメッセージに添付された BNB は、実際にはコントラクト関数: デポジットへの呼び出しに添付された BNB の金額です。そこで、トランザクションを構築し、「Hi CZ」メッセージに対応する「_identifier」と CZ のアドレス、および 0.01 BNB (最低でも 0.001 BNB のみ必要) をコントラクトに送信しました。

ハッカーが0.01BNBでCZを無料で入手する方法を教えます

ReachMe は設計当初、KOL の事前設定されたメッセージ送信コストを検出用の契約に含めなかったため (おそらく、KOL がいつでもメッセージ価格を調整し、ガス料金を節約できるようにするためでしょうか?)、フロントエンド コードを変更したり、ネットワーク応答パッケージを変更したり、契約と直接やり取りしたりすることで、1 BNB 制限を回避できます。これは、サーバーがオンチェーントランザクションを取得する際に、メッセージの価格とチェーン上で取引された BNB の量のチェックも省略したためです。

ハッカーが0.01BNBでCZを無料で入手する方法を教えます

つまり、CZ と話すには 1 BNB かかるというルールをうまく回避するのに約 10 分かかりましたが、CZ に挨拶するには 0.01 BNB しかかかりませんでした。

ハッカーが0.01BNBでCZを無料で入手する方法を教えます

さらに、CZ に興味深いメッセージを送信したり、スピア フィッシングを実行したりするなど、実際にはさらなるエクスプロイトが存在することも注目に値します。 CZ 自身の大きな影響力を考慮して、テストのこの部分は後に放棄されました。誰もが安全性にもっと注意を払い、フィッシングに注意する必要があります。

要約する

集中化と分散化を組み合わせたこの種の製品設計では、オンチェーンとオフチェーンのセキュリティ チェックに不一致が生じることがよくあります。したがって、攻撃者はチェーン内外の相互作用プロセスを分析することで、特定の検査制限を回避できます。 SlowMist セキュリティ チームは、バイパスされる可能性を回避するために、プロジェクト所有者がオンチェーン コードとオフチェーン コードで必要なセキュリティ チェック項目を可能な限り同期することを推奨しています。同時に、潜在的なセキュリティ リスクを特定して防止するために、セキュリティ監査を実施する専門のセキュリティ チームを雇うことをお勧めします。