OrionProtocol遭重入攻擊 損失290萬美元

robot
摘要生成中

OrionProtocol遭受重入攻擊導致290萬美元損失

2023年2月2日,OrionProtocol在以太坊和幣安智能鏈上因合約漏洞遭到重入攻擊,總計損失約290萬美元。攻擊者利用自創的Token合約進行回調,成功繞過了合約的安全機制。

攻擊過程分析

攻擊者首先創建了一個自定義Token合約,並進行了一系列準備工作。隨後,攻擊者通過某DEX的swap方法借款,並調用OrionProtocol的swapThroughOrionPool方法進行代幣兌換。兌換路徑中包含了攻擊者創建的Token合約地址。

在兌換過程中,攻擊者利用自創Token的transfer方法觸發回調,再次調用OrionProtocol的depositAsset方法。這導致存款金額被重復計算,從而使攻擊者能夠提取超出實際存入量的資金。

OrionProtocol 重入攻擊分析附PoC

資金流向

攻擊者的初始資金來自某交易平台的熱錢包。攻擊獲利的1651個ETH中,657.5個仍留在攻擊者的錢包地址中,其餘已通過混幣服務轉移。

OrionProtocol 重入攻擊分析附PoC

漏洞分析

漏洞的核心在於doSwapThroughOrionPool和_doSwapTokens函數。合約在執行轉帳操作後才更新curBalance變量,這給了攻擊者利用重入攻擊的機會。攻擊者通過在自定義Token的transfer函數中添加回調邏輯,導致curBalance被錯誤更新,最終實現超額提款。

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

攻擊復現

研究人員提供了部分POC代碼,展示了如何利用該漏洞進行攻擊。測試結果與實際攻擊的調用棧一致,證實了漏洞的存在和可利用性。

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

安全建議

對於具有代幣兌換功能的智能合約,開發者需要考慮多種Token和兌換路徑可能帶來的安全風險。建議遵循"先判斷、後寫入變量、再進行外部調用"的編碼規範(Checks-Effects-Interactions模式),以提高合約的安全性和穩定性。

此次事件再次強調了在智能合約開發中重視安全性的重要性,尤其是在處理資金流動時。項目方應當加強代碼審計,並考慮引入專業的區塊鏈安全團隊進行全面評估,以最大程度地降低潛在風險。

TOKEN3.45%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 3
  • 轉發
  • 分享
留言
0/400
归零冲锋队长vip
· 14小時前
又一个提款卡让我学会了战场撤退
回復0
空投追逐者vip
· 14小時前
又来一个?
回復0
分叉自由主义者vip
· 14小時前
被薅就该,谁叫出来那么嚣张
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)