Fire Token 事件分析

本文為機器翻譯
展示原文

在2024年10月1日,Fire代幣遭到攻擊,導致損失約20,000美元。讓我們來了解一下這次攻擊的具體細節。

攻擊者: https://etherscan.io/address/0x81f48a87ec44208c691f870b9d400d9c13111e2e

攻擊合約: https://etherscan.io/address/0x9776c0abe8ae3c9ca958875128f1ae1d5afafcb8

漏洞合約: https://etherscan.io/address/0x18775475f50557b96C63E8bbf7D75bFeB412082D

攻擊交易: https://etherscan.io/tx/0xd20b3b31a682322eb0698ecd67a6d8a040ccea653ba429ec73e3584fa176ff2b

漏洞分析

Fire代幣是一種ERC20代幣。Fire代幣的特點是集成了Uniswap v2的代幣交換功能。此外,_transfer()函式也被修改為使用該功能。

但問題在於,當將代幣轉移到Uniswap交易對時,_transfer()函式存在漏洞。如果使用者將代幣轉移到Uniswap交易對,Uniswap交易對的餘額會自動減少,並且緊接著會呼叫sync()函式。這是因為系統根據轉賬金額和稅額計算出售金額,然後將該出售金額轉移到死亡地址。

Transfer funtion

任何使用者都可以將多個Fire代幣轉移到Uniswap交易對。由於_transfer()中存在這個條件,Uniswap交易對的數量將減少,導致儲備價值下降。攻擊者首先將20 ETH兌換成Fire代幣,然後將所有收到的代幣轉移到Uniswap交易對。由於一部分Fire代幣被轉移到死亡地址,Fire代幣的儲備價值也隨之降低。

Transfer funtion

之後,攻擊者使用Uniswap交易對的swap()功能,根據儲備價值的差異獲得更多代幣。他重複這個操作,直到儲備價值降到最低。

Transfer funtion
Transfer funtion

透過這種漏洞利用,攻擊者獲得了約8.45 ETH(約20,000美元)。

結論

透過分享對Fire代幣漏洞的見解,這突出了徹底的安全審計和健壯的智慧合約設計的關鍵需求,以防止去中心化交易所中的操縱行為。必須制定有效的風險緩解策略,以保護DeFi系統中的使用者資金,因為即使是微小的缺陷也可能導致重大的經濟損失。

來源
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
評論