🎉 攢成長值,抽華爲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遭重入攻擊 近300萬美元資產被盜
OrionProtocol遭受重入攻擊導致近300萬美元損失
2023年2月2日,Ethereum和Binance鏈上的OrionProtocol合約因存在安全漏洞,遭受了重入攻擊。攻擊者成功竊取了約290萬美元的加密資產,其中包括Ethereum上的2,844,766 USDT和BSC上的191,606 BUSD。
攻擊過程分析
攻擊者首先部署了一個自定義Token合約,並進行了必要的準備工作。隨後,攻擊者通過UNI-V2的swap方法借入資金,並調用ExchangeWithAtomic合約的swapThroughOrionPool方法進行代幣兌換。兌換路徑包含了攻擊者創建的Token合約地址,這爲後續的回調攻擊鋪平了道路。
在兌換過程中,由於攻擊者的Token合約中包含回調邏輯,每次轉帳操作都會觸發對ExchangeWithAtomic合約depositAsset方法的重入調用。這導致存款金額被錯誤地累加,最終允許攻擊者提取超出其實際存入量的資金。
漏洞根源
核心問題出在ExchangeWithAtomic合約的doSwapThroughOrionPool和_doSwapTokens函數中。這些函數在執行代幣轉帳後更新curBalance變量,但沒有防止重入攻擊的措施。攻擊者利用自定義Token的transfer函數回調depositAsset方法,導致curBalance被錯誤更新,從而在償還閃電貸後提取超額資金。
資金流向
攻擊者的初始資金來自某交易平台的熱錢包。攻擊獲利的1,651 ETH中,657.5 ETH仍留在攻擊者的錢包地址,其餘部分已通過混幣服務進行轉移。
安全建議
爲防止類似攻擊,項目方應注意以下幾點:
實現代幣兌換功能時,需要考慮各種Token類型和兌換路徑可能帶來的安全風險。
遵循"檢查-生效-交互"(Checks-Effects-Interactions)模式編寫合約代碼,即先進行條件檢查,然後更新狀態變量,最後才與外部合約交互。
在關鍵函數中使用重入鎖或類似機制,防止重入攻擊。
對於外部調用,特別是涉及資金轉移的操作,應格外謹慎,並考慮使用pull payment模式代替push payment。
定期進行安全審計,及時發現並修復潛在漏洞。
通過採取這些措施,可以大大提高智能合約的安全性,降低遭受攻擊的風險。在Web3生態系統中,安全始終應該是首要考慮因素。