以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > TRX > Info

移花接木:Revest Finance 被黑分析_NFT

Author:

Time:1900/1/1 0:00:00

By:九九@慢霧安全團隊

2022 年 03 月 27 日,據慢霧區消息,Revest Finance 的 Revest 合約遭到黑客攻擊,黑客盜取了近 770 萬枚 ECO、579 枚 LYXe、近 7.15 億枚 BLOCKS 以及超 35 萬枚 RENA。慢霧安全團隊第一時間介入分析,并將結果分享如下:

相關信息

Revest Finance 提出了一種新協議,用于將可替代的 ERC-20 代幣作為不可替代的代幣化金融工具進行打包、轉移和存儲,利用 ERC-1155 非可替代代幣(NFT)標準來簡化訪問和商業通用性。使用該產品,資產的所有權可以以不影響資產價值的方式進行交易,從而形成一個新的商業模式。通過有針對性的用例發現該協議的機制、治理和貨幣化。

以下是本次攻擊涉及的相關地址:

攻擊者地址:

https://etherscan.io/address/0xef967ece5322c0d7d26dab41778acb55ce5bd58b

攻擊合約:

https://etherscan.io/address/0xb480ac726528d1c195cd3bb32f19c92e8d928519

FTX債權人:美國國稅局已提交大量索賠證明,對多個債務人提出實質性索賠:5月28日消息,FTX 無擔保債權人委員會發推稱,4 月 27 日至 28 日,美國國稅局提交大量索賠證明,對多個債務人提出實質性索賠。債務人和委員會正在評估這些索賠的性質、有效性、優先權和金額。[2023/5/28 9:46:43]

被攻擊合約:

https://etherscan.io/address/0x2320a28f52334d62622cc2eafa15de55f9987ed9#code

攻擊交易:

https://etherscan.io/tx/0xe0b0c2672b760bef4e2851e91c69c8c0ad135c6987bbf1f43f5846d89e691428

https://etherscan.io/tx/0x613b2de3bb9043884a219296eeb1ada8c47b5a0262b9c68ca06ffd2de3a5d9f5

https://etherscan.io/tx/0x0251c2b8012a61567ec5855010d29618ada066642e4a2866755d58337c2866d9

報告:戰爭刺激了俄羅斯和烏克蘭的加密活動:金色財經報道,據Chainalysis稱,始于俄羅斯襲擊烏克蘭的致命沖突增加了兩國的加密相關活動。這家區塊鏈取證公司發現,法幣通脹和制裁壓力導致今年交易量出現數次飆升,而東歐作為一個整體繼續在全球加密生態系統中發揮作用。戰爭剛開始的3月,以烏克蘭格里夫納計價的貿易額猛增121% 至 3.07億美元,而以俄羅斯盧布計價的貿易額增長 35% 至 8.05 億美元。該研究的作者指出,在那之后,我們看到這兩個國家的交易量都在下降,在8月份起起落落,但從未達到 3 月份的高點。[2022/10/16 14:29:10]

https://etherscan.io/tx/0x19b10c6d38f0b911fdc0e722d681a70a56699d70559eefef3d4d6fe88276c813

攻擊核心點

在被攻擊的 Revest 合約中,用戶調用 mintAddressLock 函數來將一定數量的 ERC-20 代幣存入 Revest Smart Vault 時,就會創建 FNFT。該 NFT 代表了用戶擁有的代幣資產數額,后續可以調用 withdrawFNFT 函數將代幣贖回。

攻擊核心點就在于攻擊者利用 ERC1155 標準鑄造 NFT 時會調用接受者地址的 onERC1155Received 函數,因此攻擊者利用該點回調重入了 Revest 合約中的 depositAdditionalToFNFT 函數,該函數會鑄造一個新的 NFT,接著會調用 tokenVault 合約的 handleMultipleDeposits 函數記錄新的 NFT 的信息,而 handleMultipleDeposits 函數中缺少了對該新鑄造的 NFT 是否存在的判斷,故此攻擊者利用重入修改了已經鑄造過的 NFT 的信息,而用戶鑄造 NFT 打入 ERC20 資產代幣的流程是在重入操作之前的,故此用戶無需打入 ERC20 代幣就成功鑄造了代表自己具有 360001 枚 ERC20 代幣資產的 NFT。

Web3風險投資平臺Intersection Crypto Ventures擬推出第二支加密基金ICV II:10月14日消息,Web3風險投資平臺Intersection Crypto Ventures宣布將推出旗下第二支加密基金ICV II,同時還宣布前Center Consortium首席執行官David Puth擔任聯合管理合伙人。截止目前Intersection Crypto Ventures已募集了1億美元,旗下投資組合包括Circle、Anchorage Digital、TRM Labs和Forte等開創性加密項目和協議。[2022/10/14 14:26:53]

具體細節分析

此處拿獲取 RENA 代幣的攻擊進行分析,其他幾個攻擊手法一致,不做過多贅述。

1. 攻擊者首先從 uniswap 池子中閃電貸借出 2 枚 RENA 代幣

2. 接著調用 Revest 合約中的 mintAddressLock 函數,傳入 quantities 為 2,該函數進行加鎖操作后會調用 doMint 函數來鑄造 NFT

Ripple在加拿大開設第一家辦事處:金色財經報道,Ripple宣布在多倫多開設一個新辦事處,這是其在加拿大的第一個辦事處,將作為支持其在北美發展的工程中心。這家分布式賬本技術公司周三表示,計劃在多倫多招聘50名工程師,目標是擴大到數百名區塊鏈軟件工程師,包括應用機器學習科學家、數據科學家和產品經理。

聲明稱,雖然業內其他人已經宣布裁員,但Ripple的首要任務仍然是引進能夠幫助我們在未來幾年進行創新的人才。多倫多辦事處的開設進一步加強了Ripple對該地區的承諾,該地區已經是一個技術中心,在那里它可以利用當地的人才庫并招募工程師來促進加密創新。(theblock)[2022/6/27 1:33:07]

在 doMint 函數中,會調用 tokenVault 合約的 createFNFT 函數記錄所鑄造的 NFT 函數信息,接著用戶給 tokenVault 合約轉賬相應的 ERC20 代幣,最后調用 FNFTHandler 合約中的 mint 函數來發放 NFT

數據:以太坊網絡當前已銷毀超235萬枚ETH:金色財經報道,據Ultrasound數據顯示,截止目前,以太坊網絡總共銷毀2,354,065.62枚ETH。其中,OpenSea銷毀230,048.15枚ETH,ETHtransfers銷毀219,335.64枚ETH,UniswapV2銷毀219,335.70枚。注:自以太坊倫敦升級引入EIP-1559后,以太坊網絡會根據交易需求和區塊大小動態調整每筆交易的BaseFee,而這部分的費用將直接燃燒銷毀。[2022/5/23 3:34:38]

所鑄造的 NFT 的 fnftId 為 1027, 所記錄的該 NFT 相關信息如下:

因為 depositAmount 為 0,故此 NFT 代表用戶擁有的 ERC20 代幣資產為 0,故無需轉相關資產代幣給合約

3. 再次調用 Revest 合約中的 mintAddressLock 函數,傳入 quantities 為 360000,與上面相同的步驟調用 doMint 進行鑄造 NFT,所鑄造的 NFT 的 fnftId 為 1028,記錄的 NFT 信息如下:

因為 depositAmount 為 0,故仍然無需轉賬代幣資產給 tokenVault,但是與之前不同的是,這一次鑄造 NFT 的操作中,因為在調用 FNFTHandler 合約的 mint 函數時會調用 _doSafeTransferAcceptanceCheck 函數

該函數會調用攻擊合約的 onERC1155Received 函數,故此攻擊者利用攻擊合約中的重寫的 onERC1155Received 函數回調重入了 Revest 合約的 depositAdditionalToFNFT 函數

在 depositAdditionalToFNFT 函數需要傳入指定的 fnftId(此處是 1027)、NFT 數量 quantity(此處是 1)與單個 NFT 中需要存款的資產數額 amount(此處是 1),該函數會 burn 掉傳入的 fnftId 的指定數量的 NFT,接著用戶轉入指定數量的 ERC20 代幣資產并 mint 新的 NFT,需要轉賬的數量是 quantity *? amount 為 1,最后調用 tokenVault 合約中的 handleMultipleDeposits?記錄新的 NFT 的存款數量為上面傳入指定 fnftId 的 NFT 的 depositAmount 值 + 傳入的 amount 的值

而在 handleMultipleDeposits 函數 mint 新的 NFT 時沒有判斷該 NFT 的信息是否在 tokenVault 合約中存在,故此攻擊者利用該問題直接修改了 1028 號 NFT 的信息,使得該 NFT 雖然在 doMint 操作時第一次記錄的 depositAmount 為 0,但是在重入后卻修改成了 1

4. 最后調用 withdrawFNFT 函數進行提取 NFT 中所代表的 ERC20 代幣資產

該函數燃燒掉指定的 NFT 后,會調用 tokenVault 合約中的 withdrawToken 函數進行提款

因為 depositAmount 在回調后被修改了為了 1,故此最后提款的 RENA 數量計算出來約為 360000 枚

5. 攻擊者歸還閃電貸后獲利離場

總結

本次攻擊事件是由于在 tokenVault 合約中的 handleMultipleDeposits 函數中沒有判斷該新鑄造的 NFT 是否存在,故此攻擊者利用該點直接修改了已經鑄造過的 NFT 的信息,并且在 Revest 合約中關鍵的函數沒有做重入鎖的限制,導致了被回調利用。慢霧安全團隊建議在進行鑄造 NFT 等敏感操作時需增加對 NFT 是否已經存在的判斷,且在合約關鍵函數中必須添加重入鎖的限制,避免再次出現此類問題。

Tags:NFTULTFNFINTBNFTHDPUNK Vault (NFTX)fnf幣會銷毀嗎Platonic Quintessence

TRX
什么是 DeFi ?_DEFI

DeFi 是 Decentralized Finance 的英文簡寫,直譯過來是“去中心化金融”, 實際是指,建立在區塊鏈網絡上(主要是以太坊網絡)的各類去中心化協議.

1900/1/1 0:00:00
為什么說DAO 將是未來人類最重要的組織方式_WEB

Multicoin Capital的Principal Vishal Kankani在推特上分享了關于為什么 Web3 組織 (DAO) 將成為人類和機器的最重要組織方式的一些思考.

1900/1/1 0:00:00
DeFi成為眾多交易所爭奪的香饃饃, 但為什么說OKEx或能拔得頭籌?_EFI

在加密貨幣行業,幾乎每年都會有新的故事產生,然后帶動一波行情上漲,也會給交易所帶來有趣的談資,例如2017年的1CO、2019年的IEO,以及今年的DeFi,似乎每一個故事都特別奇妙.

1900/1/1 0:00:00
PayPal CEO:數字錢包可以簡化支付 關注 DeFi 和智能合約技術_PAY

PayPal 首席執行官 Dan Schulman 在財報會議上表示,美國人在銀行賬戶之間轉移資金仍然要依賴過時老舊的系統,而數字錢包可以大大提高政府發放刺激支票的效率.

1900/1/1 0:00:00
以太坊合并馬上來了 普通人能做點什么?_ETH

來源:老雅痞 信息來源自BanklessDao,略有修改 編譯:RR 來了來了它來了。隨著Goerli測試網合并成功完成,TTD被設定為 58750000000000000000000,合并時間.

1900/1/1 0:00:00
Eleven Finance遭閃電貸攻擊 損失共計450萬美元_NRV

6月23日,幣安智能鏈(BSC)和Polygon (MATIC) 上的收益聚合器Eleven.finance,因遭遇黑客攻擊損失了450萬美元.

1900/1/1 0:00:00
ads