🎉 攢成長值,抽華爲Mate三折疊!廣場第 1️⃣ 2️⃣ 期夏季成長值抽獎大狂歡開啓!
總獎池超 $10,000+,華爲Mate三折疊手機、F1紅牛賽車模型、Gate限量週邊、熱門代幣等你來抽!
立即抽獎 👉 https://www.gate.com/activities/pointprize?now_period=12
如何快速賺成長值?
1️⃣ 進入【廣場】,點擊頭像旁標識進入【社區中心】
2️⃣ 完成發帖、評論、點讚、發言等日常任務,成長值拿不停
100%有獎,抽到賺到,大獎等你抱走,趕緊試試手氣!
截止於 8月9日 24:00 (UTC+8)
詳情: https://www.gate.com/announcements/article/46384
#成长值抽奖12期开启#
OrionProtocol遭重入攻擊 290萬美元損失
OrionProtocol遭受重入攻擊事件分析
2023年2月2日15:40:20 UTC,以太坊和幣安智能鏈上的OrionProtocol合約因存在漏洞遭到重入攻擊。攻擊者分別在以太坊鏈上獲利2,844,766 USDT,在幣安智能鏈上獲利191,606 BUSD,總計約290萬美元。
攻擊過程分析
攻擊者首先部署了一個自定義Token合約,並進行了相關的轉移和授權操作,爲後續攻擊做準備。
隨後,攻擊者通過某DEX的swap方法進行借貸,並調用OrionProtocol的ExchangeWithAtomic.swapThroughOrionPool方法進行代幣兌換。兌換路徑設置爲[USDC, 攻擊者Token, USDT]。
在兌換過程中,由於攻擊者創建的Token合約中包含回調邏輯,因此在Transfer操作時會觸發對ExchangeWithAtomic.depositAsset方法的重入調用,導致存款金額被多次累加。最後,攻擊者通過取款操作完成獲利。
資金流向
攻擊者的初始資金來自某交易平台的熱錢包帳戶。獲利的1,651個ETH中,657.5個ETH仍滯留在攻擊者的錢包地址中,其餘部分已通過混幣服務進行轉移。
漏洞分析
核心問題出在ExchangeWithAtomic合約的doSwapThroughOrionPool函數中。該函數在執行Token轉帳後更新curBalance變量,這爲重入攻擊創造了條件。攻擊者利用自定義Token的transfer函數回調depositAsset方法,導致curBalance被錯誤更新。最終,攻擊者在償還閃電貸後,通過withdraw函數提取了超額資金。
安全建議
合約設計中應考慮多種Token和兌換路徑可能帶來的安全風險。
遵循"檢查-效果-交互"(Checks-Effects-Interactions)模式編寫合約代碼,即先進行條件檢查,然後更新狀態變量,最後再執行外部調用。
在關鍵函數中實現重入鎖,防止重入攻擊。
對於外部調用的Token合約,應進行嚴格的安全審計和白名單管理。
定期進行合約安全審計,及時發現和修復潛在漏洞。
通過採取這些措施,可以有效降低智能合約遭受攻擊的風險,提高項目的整體安全性。