比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > Luna > Info

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

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

Pudgy Penguins推出的實體玩偶Pudgy Toys已上架亞馬遜商城:5月19日消息,由 NFT 項目胖企鵝Pudgy Penguins 推出的實體玩偶 Pudgy Toys 現已上架亞馬遜商城,目前已開放購買的產品包含 2 個毛絨玩具系列,售價分別為 24.99 美元及 12.99 美元,塑料及橡膠材質公仔系列暫未開放購買,所有商品最早于 6 月 3 日發貨。Pudgy Penguins 表示,每個毛絨玩具都有對應的官方 NFT 證書,可實現數字企鵝定制體驗Pudgy World。Pudgy World 將為非 NFT 用戶提供他們的第一個區塊鏈錢包、Soulbound NFT 和 Tradeable NFT,只需用戶使用一個電子郵件地址進行簡單注冊即可。用戶可通過附帶證書解鎖 Pudgy World Season 1 的獨特特征,用戶可將這些特性裝備到 Forever Pudgy Penguin 上,或進行買賣,與朋友一起游玩迷你游戲。在 Retail Monster 和 PMI Toys 的支持下,Pudgy Toys 將陸續在全球一些最著名的零售店和專賣店上架。[2023/5/19 15:13:30]

被攻擊合約:

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

Oppenheimer下調Coinbase股票評級,因其收到美SEC的韋爾斯通知:金色財經報道,投資銀行和經紀自營商 Oppenheimer 下調 Coinbase 股票評級,稱 Coinbase 收到美國證券交易委員會(SEC) 的韋爾斯通知(Wells Notice)后出現不健康的監管環境。[2023/3/23 13:22:15]

攻擊交易:

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

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

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

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

沙特機場地勤服務提供商SGS將在28個機場實施DocCerts區塊鏈管理解決方案:金色財經報道,沙特機場地勤服務提供商 SGS 將與區塊鏈公司 IR4LAB 合作,在沙特的 28 個機場實施 DocCerts 區塊鏈管理解決方案,適用于 SGS 提供地面服務的 28 個沙特阿拉伯機場頒發的所有培訓相關數字文件和地面服務設備許可證。[2023/2/9 11:56:45]

攻擊核心點

在被攻擊的 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。

沙特阿拉伯和The Sandbox同意就元宇宙項目進行合作:金色財經報道,Metaverse游戲平臺Sandbox聯合創始人兼首席運營官Sebastien Borget宣布Sandbox和沙特阿拉伯已經達成某種共識。Borget和沙特阿拉伯的 DGA在參加沙特首都利雅得的Leap Tech會議時簽署了這一備忘錄。Borget在電子郵件中表示,他無法透露有關他的公司與沙特阿拉伯政府達成的協議的任何進一步信息,但細節將在未來幾周公布。

雖然Sandbox尚未實現大規模采用,但許多高管和投資者認為它是元宇宙開發的早期領導者。數字平臺是一個虛擬空間,用戶可以在游戲中創建自己的迷你宇宙。該公司在2021年由軟銀愿景基金牽頭的B輪融資中籌集了9300萬美元,據稱不到六個月后又試圖籌集額外的4億美元,估值為40億美元。[2023/2/8 11:53:51]

具體細節分析

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

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

BitDAO社區關于BIT回購計劃的提案已開啟投票:12月27日消息,BitDAO社區關于BIT回購計劃的提案已開啟投票,該提案旨在作為其DAO部署戰略計劃的一部分。提案建議從2023年1月1日起,將每天的目標購買量(TDPA)設定為200萬USDT,持續50天(總額為1億USDT)。

購買BIT后,BitDAO金庫仍將持有3億美元的USDT/USDC和27萬枚ETH(約3.45億美元),提案稱這應該足以覆蓋5年以上的BIT產品開發。目前該提案支持率為100%,投票將于12月31日結束。[2022/12/27 22:09:48]

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

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

所鑄造的 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:NFTFNFULTPOSIHDPUNK Vault (NFTX)FNF價格Cryptographic Ultra Moneyposi幣的怎么樣

Luna
SPE:Spendless門戶 輕松訪問 DeFi 協議

在以太坊網絡上,你的資金擁有巨大的潛能 —— (一經設置便)可以自動幫助你完成你想做的事,如,向慈善機構捐款,或儲蓄增收(比傳統銀行提供的利率更高),而無需每次都手動執行并為之付費.

1900/1/1 0:00:00
BSP:金色說明書 | YFX創世挖礦第二階段教程

DeFi流動性挖礦火爆一時,吸引了大量投資者參與。為了方便投資者及時了解DeFi挖礦項目的相關信息和挖礦流程,金色財經推出了“金色說明書”系列挖礦教程.

1900/1/1 0:00:00
BTC:金色早報 | 巴西央行行長:不同意對加密資產進行嚴格監管

頭條 ▌巴西央行行長:不同意對加密資產進行嚴格監管8月12日消息,巴西央行行長 Roberto Campos Neto 在參加一場加密主題會議上表示.

1900/1/1 0:00:00
DEFI:DeFi項目仿盤不斷 社區能成為護城河嗎?

正如BTC和BCH剛分叉時的那樣,DeFi現在面臨同樣的問題:“流動性挖礦”雖有利可圖,但很難分叉出一個持久的社區。DeFi領域正在涌現各種分叉項目.

1900/1/1 0:00:00
BTC:金色趨勢丨BTC能否再創歷史新高?

2019年小牛行情結束,BTC在14000美金附近見頂回落,跌破120日均線迎來瀑布,后面區間整理后迎來首次大反彈,最高插針至120日均線并未站穩,反彈后繼續向下再創新低.

1900/1/1 0:00:00
BTC:金色趨勢丨ETH三角收斂 等待變盤

BTC減半倒計時|金色財經挖礦收益播報:金色財經報道,據OKEx礦池數據顯示,下一次BTC減半日期預計為2020年5月10日,今天距此還有60天.

1900/1/1 0:00:00
ads