以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads

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

Author:

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

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

核心合約地址P2Controller:0x34ca24ddcdaf00105a3bf10ba5aae67953178b85XNFT:0x39360AC1239a0b98Cb8076d4135d0F72B7fd9909xToken:0x5417da20aC8157Dd5c07230Cfc2b226fDCFc5663攻擊者EOA地址0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a攻擊合約地址0xf70F691D30ce23786cfb3a1522CFD76D159AcA8d0x234e4B5FeC50646D1D4868331F29368fa92862380x7B5A2F7cd1cc4eEf1a75d473e1210509C55265d80xc45876C90530cF0EE936c93FDc8991534F8A6962漏洞核心點分析

慢霧:7月3日至7月7日期間?Web3生態因安全問題損失近1.3億美元:7月10日消息,慢霧發推稱,自7月3日至7月7日,Web3生態因安全問題遭遇攻擊損失128,419,000美元,包括Encryption AI、AzukiDao、NFT Trader、MIKE&SID、Bryan Pellegrino、Aptos Foundation、Multichain、CivFund。其中,Multichain被攻擊損失1.26億美元。[2023/7/10 10:12:36]

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

慢霧:Poly Network再次遭遇黑客攻擊,黑客已獲利價值超439萬美元的主流資產:金色財經報道,據慢霧區情報,Poly Network再次遭遇黑客攻擊。分析發現,主要黑客獲利地址為0xe0af…a599。根據MistTrack團隊追蹤溯源分析,ETH鏈第一筆手續費為Tornado Cash: 1 ETH,BSC鏈手續費來源為Kucoin和ChangeNOW,Polygon鏈手續費來源為FixedFloat。黑客的使用平臺痕跡有Kucoin、FixedFloat、ChangeNOW、Tornado Cash、Uniswap、PancakeSwap、OpenOcean、Wing等。

截止目前,部分被盜Token (sUSD、RFuel、COOK等)被黑客通過Uniswap和PancakeSwap兌換成價值122萬美元的主流資產,剩余被盜資金被分散到多條鏈60多個地址中,暫未進一步轉移,全部黑客地址已被錄入慢霧AML惡意地址庫。[2023/7/2 22:13:22]

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

慢霧:Quixotic黑客盜取約22萬枚OP,跨鏈至BNB Chain后轉入Tornado Cash:7月1日消息,據慢霧分析,Quixotic黑客盜取了大約22萬枚OP(約11.9萬美元),然后將其兌換成USDC并跨鏈到BNB Chain,之后將其兌換成BNB并轉入Tornado Cash。[2022/7/1 1:44:55]

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

慢霧:BSC項目Value DeFi vSwap 模塊被黑簡析:據慢霧區情報,幣安智能鏈項目 Value DeFi 的 vSwap 模塊被黑,慢霧安全團隊第一時間介入分析,并將結果以簡訊的形式分享,供大家參考:

1. 攻擊者首先使用 0.05 枚 WBNB 通過 vSwap 合約兌換出 vBSWAP 代幣;

2. 攻擊者在兌換的同時也進行閃電貸操作,因此 vSwap 合約會將兌換的 vBSWAP 代幣與閃電貸借出的 WBNB 轉給攻擊者;

3. 而在完成整個兌換流程并更新池子中代幣數量前,會根據池子的 tokenWeight0 參數是否為 50 來選擇不同的算法來檢查池子中的代幣數量是否符合預期;

4. 由于 vSwap 合約的 tokenWeight0 參數設置為 70,因此將會采用第二種算法對池子中的代幣數量進行檢查;

5. 而漏洞的關鍵點就在于采用第二種算法進行檢查時,可以通過特殊構造的數據來使檢查通過;

6. 第二種算法是通過調用 formula 合約的 ensureConstantValue 函數并傳入池子中緩存的代幣數量與實時的代幣數量進行檢查的;

7. 在通過對此算法進行具體分析調試后我們可以發現,在使用 WBNB 兌換最小單位(即 0.000000000000000001) vBSWAP 時,池子中緩存的 WBNB 值與實時的值之間允許有一個巨大的波動范圍,在此范圍內此算法檢查都將通過;

8. 因此攻擊者可以轉入 WBNB 進行最小單位的 vBSWAP 代幣兌換的同時,將池子中的大量 WBNB 代幣通過閃電貸的方式借出,由于算法問題,在不歸還閃電貸的情況下仍可以通過 vSwap 的檢查;

9. 攻擊者只需要在所有的 vSwap 池子中,不斷的重復此過程,即可將池子中的流動性盜走完成獲利。詳情見原文鏈接。[2021/5/8 21:37:37]

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

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

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

攻擊交易分析

此處僅展示其中一筆攻擊交易的細節,其余攻擊交易的手法均一致,不再贅述。攻擊前準備——生成訂單的交易:0x61a6a8936afab47a3f2750e1ea40ac63430a01dd4f53a933e1c25e737dd32b2f1.首先攻擊者將NFT轉入攻擊合約并進行授權,接著調用xNFT合約中的pledgeAndBorrow函數在進行抵押NFT生成訂單并借款的操作,此處需要注意一點是該函數可以控制傳入的xToken,攻擊者傳入了自己構造的xToken合約地址,并且讓借款數量為0,目的是為了滿足后續能成功提出NFT時的不被清算且負債為0的條件。

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

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

總結

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

Tags:NFTSWAPTOKTOKENNFTNSWAPPDavincij15 TokenEZToken

加密貨幣
ETH:FTX Benson:數億美金避險基金大量做空,USDT會暴雷嗎?

我們先來看一下USDT的資產儲備成分,其實所有的Stablecoin發行商資產儲備都和貨幣市場基金成分類似,都是以現金、高質量的短期債券與票據為主.

1900/1/1 0:00:00
AIN:Chain Hill Research:P2E時代終結后,區塊鏈游戲將迎來怎樣的革命?

本文系ChainHillcapital首發,未經授權禁止轉載。如需授權轉載,請聯系:info@chainhill.com研究概要隨著大批的風險資本涌入區塊鏈游戲賽道及大量的創業者投身于創造區塊鏈.

1900/1/1 0:00:00
GBTC:曾經的「牛市發動機」GBTC為何成為導致機構暴雷的「油桶」?

熊市是流動性樂章的休止符。著名投資者CharlieMunger曾經說過一句話:“有三種方式可以讓一個聰明的人破產:酒、女士和杠桿.

1900/1/1 0:00:00
PDF:詳解PDF文檔釣魚攻擊:警惕5億美元的教訓

據TheBlock報道,今年3月AxieInfinity側鏈Ronin跨鏈橋被攻擊導致5.4億美元資產被盜的起因,是AxieInfinity的員工接收并下載了一份PDF文檔形式的招聘offer.

1900/1/1 0:00:00
Bankless:除了「四巨頭」外,下一代L2還有哪些?

親愛的Bankless老鐵,加密貨幣一直處在不斷發展的路徑上,當一個科技創新率先領跑時,其他的項目和技術就會僅僅跟隨其腳步。這就是我們現在看到的第二層網絡的情況.

1900/1/1 0:00:00
TAL:新項目 | Tally Ho:屬于社區的Web3開源錢包

2020年,MetaMask決定不再開源,而是采用“分層專有許可”來限制人們使用其代碼,也就是說部分涉及商業用途的代碼使用需要團隊授權.

1900/1/1 0:00:00
ads