OrionProtocol遭重入攻擊 損失290萬美元 ETH和BSC雙鏈受影響

robot
摘要生成中

OrionProtocol遭受重入攻擊事件分析

2023年2月2日下午,以太坊和幣安智能鏈上的OrionProtocol因合約漏洞遭到重入攻擊,造成約290萬美元的損失。攻擊者利用自創代幣合約的回調功能,在交易過程中重復調用存款函數,導致資金被錯誤累加後提取。

攻擊過程

  1. 攻擊者首先創建了一個自定義Token合約,並進行了必要的轉移和授權操作。

  2. 攻擊者通過某DEX的swap方法借款,然後調用ExchangeWithAtomic.swapThroughOrionPool方法進行代幣兌換。兌換路徑設置爲USDC -> 攻擊者創建的Token -> USDT。

  3. 在兌換過程中,攻擊者的Token合約利用transfer函數觸發回調,重復調用ExchangeWithAtomic.depositAsset函數,導致存款金額被錯誤累加。

  4. 最後,攻擊者通過withdraw函數提取超額資金,完成攻擊。

OrionProtocol 重入攻擊分析附PoC

漏洞分析

漏洞主要存在於ExchangeWithAtomic合約的doSwapThroughOrionPool和_doSwapTokens函數中。關鍵問題在於:

  1. 合約在執行轉帳後才更新curBalance變量。
  2. 未能有效防範重入攻擊,允許在轉帳過程中執行回調函數。

這導致攻擊者可以在curBalance更新前重復調用depositAsset函數,造成資金計算錯誤。

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

OrionProtocol 重入攻擊分析附PoC

攻擊影響

  • 以太坊鏈上損失2,844,766 USDT
  • 幣安智能鏈上損失191,606 BUSD
  • 總計約290萬美元

資金流向

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

安全建議

  1. 嚴格遵循"檢查-生效-交互"(Checks-Effects-Interactions)模式編寫智能合約。
  2. 實現重入鎖,防止函數在執行過程中被重復調用。
  3. 在進行代幣兌換時,考慮各種可能的Token類型和兌換路徑,做好異常情況處理。
  4. 定期進行智能合約安全審計,及時發現並修復潛在漏洞。

本次事件再次提醒項目方,在開發涉及資金交互的智能合約時,必須高度重視安全性,採取全面的防護措施,最大限度地降低合約風險。

ETH1.89%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 8
  • 分享
留言
0/400
空投刷子姐vip
· 07-18 17:53
啧 这智能合约脆的像纸一样
回復0
MerkleDreamervip
· 07-18 06:45
又被盗啦?见怪不怪了
回復0
rekt_but_resilientvip
· 07-16 11:57
又又又被撸290w
回復0
NewLiquidationWatchervip
· 07-15 21:48
又是重入攻击 学不乖啊
回復0
Fork_Tonguevip
· 07-15 21:48
靠谱项目都炸了 啥时候是个头
回復0
链上算命先生vip
· 07-15 21:44
这么多年了漏洞还没补?
回復0
空投碰瓷哥vip
· 07-15 21:38
又套路割韭菜了
回復0
精神财富收割机vip
· 07-15 21:22
哎 又出事儿了??
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)