以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

慢霧:XCarnival NFT借貸協議漏洞分析_NFT

Author:

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

原文作者:九九,慢霧安全團隊

2022 年 6 月 27 日,據慢霧區消息,XCarnival 項目被曝出嚴重漏洞遭黑客攻擊并盜走 3,087 個 ETH(約 380 萬美元)。XCarnival 是一個 ETH 鏈上的 NFT 借貸項目,目前項目團隊正在修復漏洞并承諾會對受影響的用戶提供解決方案。慢霧安全團隊第一時間介入分析,并將結果分享如下:

核心合約地址

P2Controller:

0x34ca24ddcdaf00105a3bf10ba5aae67953178b85

XNFT:

0x39360AC1239a0b98Cb8076d4135d0F72B7fd9909

xToken:

0x5417da20aC8157Dd5c07230Cfc2b226fDCFc5663

慢霧:區塊鏈因黑客攻擊損失總金額已超300億美元:金色財經報道,據慢霧統計數據顯示,自2012年1月以來,區塊鏈黑客造成的損失總金額約為30,011,604,576.24美元;黑客事件總數達到1101起。

其中Exchange、ETH Ecosystem、Bridge是在黑客攻擊中損失最大的類別,損失金額分別為10,953,323,803.39美元、3,123,297,416.28美元,2,005,030,543.30美元。另外合約漏洞、Rug Pull、閃電貸攻擊是最常見的攻擊方式,分別發生黑客事件137起,106起,87起。[2023/7/7 22:24:09]

攻擊者 EOA 地址

0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a

攻擊合約地址

0xf70F691D30ce23786cfb3a1522CFD76D159AcA8d

慢霧:BSC鏈上項目BXH遭受攻擊分析:10月30日消息,據慢霧區情報,2021年10月30日,幣安智能鏈上(BSC)去中心化交易協議BXH項目遭受攻擊,被盜約1.3億美金。經慢霧安全團隊分析,黑客于27日13時(UTC)部署了攻擊合約0x8877,接著在29日08時(UTC)BXH項目管理錢包地址0x5614通過grantRole賦予攻擊合約0x8877管理權限。30日03時(UTC)攻擊者通過攻擊合約0x8877的權限從BXH策略池資金庫中將其管理的資產轉出。30日04時(UTC)0x5614暫停了資金庫。因此BXH本次被盜是由于其管理權限被惡意的修改,導致攻擊者利用此權限轉移了項目資產。[2021/10/30 6:22:02]

0x234e4B5FeC50646D1D4868331F29368fa9286238

0x7B5A2F7cd1cc4eEf1a75d473e1210509C55265d8

慢霧: 警惕比特幣RBF風險:據BitMEX消息,比特幣于區塊高度666833出現陳腐區塊,并產生了一筆 0.00062063 BTC 的雙花交易。根據 BitMEX提供的交易內容來看,雙花的兩筆交易的nSequence字段的值都小于0xffffffff -1。慢霧安全團隊初步認為此次雙花交易有可能是比特幣中的RBF交易。[2021/1/20 16:38:01]

0xc45876C90530cF0EE936c93FDc8991534F8A6962

1.攻擊者通過 XNFT 合約中的 pledgeAndBorrow 函數來進行抵押 NFT 并借出 xToken。

在 pledgeInternal 函數中轉入 NFT 并生成訂單:

慢霧:警惕ETH新型假充值,已發現在野ETH假充值攻擊:經慢霧安全團隊監測,已發現存在ETH假充值對交易所攻擊的在野利用,慢霧安全團隊決定公開修復方案,請交易所或錢包及時排查ETH入賬邏輯,必要時聯系慢霧安全團隊進行檢測,防止資金丟失。建議如沒有把握成功修復可先臨時暫停來自合約地址的充值請求。再進行如下修復操作:1、針對合約ETH充值時,需要判斷內聯交易中是否有revert的交易,如果存在revert的交易,則拒絕入賬。2、采用人工入賬的方式處理合約入賬,確認充值地址到賬后才進行人工入賬。同時需要注意,類以太坊的公鏈幣種也可能存在類似的風險。[2020/5/23]

2. 接著調用 withdrawNFT 函數提取出質押的 NFT,其中首先判斷該訂單是否被清算狀態,如果不是則判斷該訂單的狀態是否為 NFT 還未被提取且借款金額為 0(無負債),如果通過即可提取抵押的 NFT。

3. 以上為攻擊前生成訂單的準備操作,接著攻擊者開始利用生成的訂單直接調用 xToken 合約中的 borrow 函數進行借款。

在 borrowInternal 函數中,會外部調用 controller 合約中的 borrowAllowed 函數來判斷是否可以借款。

可以看到在 borrowAllowed 函數會調用 orderAllowed 函數進行訂單相關信息的判斷,但是在這兩個函數中均沒有進行 _order.isWithdraw 狀態的判斷。因此攻擊者可以利用之前生成的訂單(訂單里的抵押的 NFT 已經被提走)來調用 XToken 的 borrow 函數來借款,而因為抵押的 NFT 在之前已經被提出,故攻擊者可以不用還款來實現獲利。

此處僅展示其中一筆攻擊交易的細節,其余攻擊交易的手法均一致,不再贅述。

攻擊前準備——生成訂單的交易:

0x61a6a8936afab47a3f2750e1ea40ac63430a01dd4f53a933e1c25e737dd32b2f

1. 首先攻擊者將 NFT 轉入攻擊合約并進行授權,接著調用 xNFT 合約中的 pledgeAndBorrow 函數在進行抵押 NFT 生成訂單并借款的操作,此處需要注意一點是該函數可以控制傳入的 xToken,攻擊者傳入了自己構造的 xToken 合約地址,并且讓借款數量為 0,目的是為了滿足后續能成功提出 NFT 時的不被清算且負債為 0 的條件。

2. 攻擊者緊接著調用 withdrawNFT 函數來進行提取抵押的 NFT:

正式攻擊交易:

0x51cbfd46f21afb44da4fa971f220bd28a14530e1d5da5009cfbdfee012e57e35

攻擊者調用 xToken 合約的 borrow 函數,傳入之前生成的訂單的 orderID,重復了該操作 22 次(orderID: 45 - 66),而因為 NFT 在準備階段已經提走,估計無需還款以此來獲利。

本次漏洞的核心在于借款的時候,沒有進行訂單中 NFT 是否被提走的狀態的判斷,導致攻擊者可以在把 NFT 提走之后再利用之前生成的訂單來借款而無需還款,以此來獲利。針對此類漏洞,慢霧安全團隊建議在進行借款操作時應做好訂單狀態中是否已經提走抵押品的判斷,避免再次出現此類問題。

Tags:NFTBORETHROWPHUNK Vault (NFTX)borderlessXETH價格POOGROW

比特幣價格
晚間必讀5篇 | 去中心化NFT交易協議將擊敗OpenSea_區塊鏈

京時間6月22日1時,以太坊擴展方案Arbitrum正式啟動The Arbitrum Odyssey活動.

1900/1/1 0:00:00
如何打破NFT工具平臺和NFT交易平臺之間的界限?_NFT

去中心化 NFT 交易協議之于 NFT Market,如同 AMM 之于 DEX。NFT 交易中的核心需求為流動性和價格,所以 NFT 交易平臺的真實護城河應建立在商品出售時的流動性和價格優勢上.

1900/1/1 0:00:00
銀行、券商、保險紛紛試水金融元宇宙 虛擬人、數字藏品成當前主要玩法_元宇宙

去年以來,資本市場上的元宇宙概念火了。熱潮之下,不少金融機構躍躍欲試。據區塊鏈日報記者不完全統計,截至目前包括銀行、券商、保險在內的19家機構都試水了元宇宙.

1900/1/1 0:00:00
我所理解的加密世界_區塊鏈

今天在朋友圈看到一個平時交流并不太多的朋友發了一則新聞稿。標題是《虛擬貨幣終究是黃粱一夢、龐氏騙局》.

1900/1/1 0:00:00
金色觀察|以太坊即將到來的灰色冰川升級_以太坊

一周前,EF的Tim Beiko 在EF博客發布了一篇文章,文章內容表示,以太坊網絡將在 15,050,000區塊進行預定的網絡升級,預計將于2022 年 6 月 29 日進行.

1900/1/1 0:00:00
Bankless:市場低迷 甄別項目需要注意的 3 個危險信號_DAO

聰明的投資者知道什么時候該堅持,什么時候該向前,而什么時候又該悄摸地從后門離開。要想從這個市場中獲得最大收益,你必須生存下來,才能發展壯大。而生存并不總是關于誰擁有最華麗的技術或最高的 TVL.

1900/1/1 0:00:00
ads