Euler Finance遭閃電貸攻擊 損失近2億美元

Euler Finance項目遭受閃電貸攻擊,損失近2億美元

2023年3月13日,Euler Finance項目遭遇閃電貸攻擊,導致約1.97億美元的巨額損失。攻擊者利用了項目合約中的一個漏洞,通過多次操作完成了攻擊。目前,被盜資金仍然存留在攻擊者的帳戶中。

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

攻擊過程分析

  1. 攻擊者首先從某借貸平台閃電貸借入3000萬DAI,並部署了兩個合約:一個借貸合約和一個清算合約。

  2. 攻擊者將借來的2000萬DAI質押到Euler Protocol合約中,獲得了19.5百萬eDAI。

  3. 利用Euler Protocol的槓杆功能,攻擊者借出了195.6百萬eDAI和200百萬dDAI。

  4. 攻擊者使用剩餘的1000萬DAI償還部分債務,銷毀了10百萬dDAI,然後再次借出195.6百萬eDAI和200百萬dDAI。

  5. 關鍵步驟:攻擊者調用donateToReserves函數,捐贈了100百萬eDAI,隨後通過liquidate函數進行清算,獲得310百萬dDAI和250百萬eDAI。

  6. 最後,攻擊者提取了38.9百萬DAI,歸還了30百萬DAI的閃電貸,最終獲利8.87百萬DAI。

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

漏洞原因

攻擊得以成功的主要原因是Euler Finance合約中的donateToReserves函數存在缺陷。與其他關鍵函數相比,該函數缺少了必要的流動性檢查步驟(checkLiquidity)。這個檢查本應確保用戶的eToken數量大於dToken數量,以維持合約的健康狀態。

由於缺少這個關鍵檢查,攻擊者能夠通過特定操作使自己處於可被清算的狀態,然後利用這一點完成攻擊。

安全建議

對於類似的借貸項目,需要特別注意以下幾個關鍵點:

  1. 資金償還機制的安全性
  2. 流動性檢測的全面性
  3. 債務清算流程的嚴謹性

在合約上線前,進行全面且專業的安全審計是至關重要的。這不僅可以發現潛在的漏洞,還能確保合約的整體安全性和穩定性。

本次事件再次強調了在去中心化金融領域中,合約安全的重要性。項目方應當始終將安全置於首位,以保護用戶資產和維護整個生態系統的健康發展。

Euler Finance漏洞分析:如何遭閃電貸攻擊,損失1.97億美金!

EUL0.22%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 7
  • 分享
留言
0/400
资深老韭当家vip
· 10小時前
又一个合约被掏空
回復0
tx_pending_forevervip
· 22小時前
智能合约太不智能
回復0
airdrop_whisperervip
· 22小時前
智能合约难安全
回復0
GasFeeCriervip
· 22小時前
又一个漏洞盛宴
回復0
screenshot_gainsvip
· 22小時前
又一个漏洞钱包
回復0
链上考古学家vip
· 22小時前
合约又出事了
回復0
probably_nothing_anonvip
· 22小時前
白嫖无罪中本嫖
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)