ポリゴン チェーン上の LibertiVault コントラクトに対する攻撃の分析

ブロックチェーンセキュリティ監査会社 Beosin** の Beosin EagleEye セキュリティ リスク監視、早期警告、ブロック プラットフォーム監視によると、Polygon チェーン上の LibertiVault 契約が攻撃され、約 29 万米ドル相当の約 123ETH と 56,234USDT が損失されました。 、イーサリアムチェーン35ETHと96223USDTは約16万米ドルの価値があり、合計は45万米ドル以上になります。 **技術スタッフが分析した結果、この攻撃は LibertiVault 契約の再入可能脆弱性によって引き起こされたことが判明しました。

  1. 攻撃者はフラッシュ ローンを使用して 500 万 USDT を借り、LibertiVault コントラクトのデポジット機能を呼び出してプレッジします。プレッジ ロジックは、プレッジされたトークンの一部を交換に使用し、鋳造されたコインの量を計算します。鋳造コインは契約とデポジットに基づいて計算されます。計算は、契約がデポジットされる前の残高に対するデポジットされたトークンの量の比率に基づいて行われます。

  2. 為替操作スワップはハッカーのコントラクトをコールしますが、このときハッカーは初めてコール デポジットを再入力し、2 回目にこの関数を再入力して 250 万 USDT をコントラクトにデポジットします。

  3. 2 回目のリエントリー後、契約は前の契約の USDT 残高に対する 250 万 USDT の比率に従ってハッカーのためにコインを鋳造します。最初のリエントリーの入金機能が完了した後、ハッカーはさらに 250 万 USDT を入金します。そこに。

  4. この時点で、外部デポジット機能での交換操作が完了し、契約は契約 USDT 残高に対する 250 万 USDT の比率に従ってコインを鋳造します。

  5. 問題は 4 番目の点で、論理的に言えば、2 回目の契約残高の計算は、前回の残高に、この計算のパラメーターとして初めて入力された 250 万の残高を加えたものになるはずですが、ここでは、リエントリーの場合、契約残高は最初に取得されているためパラメータは変更されず、元の残高が引き続き計算に使用されるため、ハッカーのために大量のバウチャートークンが鋳造されることになります。

  6. 最後に、ハッカーはトークンを削除し、利益を得るためにフラッシュ ローンを返しました。

原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • 共有
コメント
0/400
コメントなし
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)