Euler Finance遭2億美元閃電貸攻擊 合約漏洞成主因

robot
摘要生成中

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

2023年3月13日,Euler Finance項目因合約漏洞遭受閃電貸攻擊,造成約1.97億美元的重大損失。攻擊者利用了項目中Etoken的donateToReserves函數缺乏流動性檢查這一漏洞,通過多次操作不同幣種獲取了巨額利潤。

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

攻擊過程分析

攻擊者首先從某借貸平台獲取3000萬DAI的閃電貸,隨後部署了借貸和清算兩個合約。攻擊主要步驟如下:

  1. 將2000萬DAI質押到Euler Protocol合約,獲得1950萬eDAI。

  2. 利用Euler Protocol的10倍槓杆借貸功能,借出1.956億eDAI和2億dDAI。

  3. 使用剩餘1000萬DAI償還部分債務並銷毀相應dDAI,然後再次借出同等數量的eDAI和dDAI。

  4. 通過donateToReserves函數捐贈1億eDAI,隨後調用liquidate函數進行清算,獲得3.1億dDAI和2.5億eDAI。

  5. 最後提取3890萬DAI,歸還閃電貸後獲利約887萬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函數缺少必要的流動性檢查。與mint等其他關鍵函數不同,donateToReserves函數未調用checkLiquidity進行用戶流動性驗證,導致攻擊者能夠操縱自身帳戶狀態,使其符合清算條件,從而完成攻擊。

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

安全建議

針對此類攻擊,建議DeFi項目方:

  1. 在合約上線前進行全面的安全審計,確保代碼安全性。

  2. 特別關注借貸類項目中的資金償還、流動性檢測和債務清算等關鍵環節。

  3. 確保所有可能影響用戶資產狀態的函數都實施嚴格的安全檢查。

  4. 定期進行漏洞掃描和安全評估,及時修復潛在風險。

  5. 建立應急響應機制,以便在發生安全事件時快速反應和處理。

這起事件再次凸顯了智能合約安全的重要性,提醒Web3項目開發者和用戶時刻保持警惕,共同維護區塊鏈生態的安全與穩定。

查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 讚賞
  • 7
  • 分享
留言
0/400
DeFi小灰灰vip
· 18小時前
又一个漏洞血亏
回復0
SignatureVerifiervip
· 19小時前
显然输入验证不足... *叹气* 又是一天,又是一个漏洞
查看原文回復0
论坛潜水怪vip
· 19小時前
早说了别碰DeFi
回復0
Gas_FeeCriervip
· 19小時前
又一个亏到裤子都没了
回復0
Sunday Degenvip
· 19小時前
又一个暴毙的
回復0
mev_me_maybevip
· 19小時前
又是合约漏洞呀?老路数了
回復0
GasWastervip
· 19小時前
哎,又是一天又一个漏洞……审核失败浪费了gas,真让人无奈。
查看原文回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)