比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 區塊鏈 > Info

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

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

慢霧:CoinsPaid、Atomic與Alphapo攻擊者或均為朝鮮黑客組織Lazarus:7月26日消息,慢霧發推稱,CoinsPaid、Atomic與Alphapo攻擊者或均為朝鮮黑客組織Lazarus Group。慢霧表示,TGGMvM開頭地址收到了與Alphapo事件有關TJF7md開頭地址轉入的近1.2億枚TRX,而TGGMvM開頭地址在7月22日時還收到了通過TNMW5i開頭和TJ6k7a開頭地址轉入的來自Coinspaid熱錢包的資金。而TNMW5i開頭地址則曾收到了來自Atomic攻擊者使用地址的資金。[2023/7/26 16:00:16]

攻擊者 EOA 地址

0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a

攻擊合約地址

0xf70F691D30ce23786cfb3a1522CFD76D159AcA8d

慢霧: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]

0x234e4B5FeC50646D1D4868331F29368fa9286238

0x7B5A2F7cd1cc4eEf1a75d473e1210509C55265d8

0xc45876C90530cF0EE936c93FDc8991534F8A6962

慢霧:攻擊Ronin Network的黑客地址向火幣轉入3750枚 ETH:3月30日消息,慢霧發推稱,攻擊Axie Infinity側鏈Ronin Network的黑客地址向交易所火幣轉入3750枚ETH。此前金色財經報道,Ronin橋被攻擊,17.36萬枚ETH和2550萬USDC被盜。[2022/3/30 14:26:38]

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

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

聲音 | 慢霧:使用中心化數字貨幣交易所及錢包的用戶注意撞庫攻擊:據慢霧消息,近日,注意到撞庫攻擊導致用戶數字貨幣被盜的情況,具體原因在于用戶重復使用了已泄露的密碼或密碼通過撞庫攻擊的“密碼生成基本算法”可以被輕易猜測,同時用戶在這些中心化服務里并未開啟雙因素認證。分析認為,被盜用戶之所以沒開啟雙因素認證是以為設置了獨立的資金密碼就很安全,但實際上依賴密碼的認證體系本身就不是個足夠靠譜的安全體系,且各大中心化數字貨幣交易所及錢包在用戶賬號風控體系的策略不一定都一致,這種不一致可能導致用戶由于“慣性思維”而出現安全問題。[2019/3/10]

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:NFTBORROWTOKWNFT幣Borderless MoneyESCROW幣dyxtoken

區塊鏈
Messari 報告:Lido 流動性質押_LID

重要觀點 Lido 允許用戶將任意數額的資產委托給專業的節點運營商,從而消除了維護質押基礎設施所面臨的挑戰和風險.

1900/1/1 0:00:00
Bankless:速覽十大瀏覽器錢包及其優缺點_WALLET

首先:瀏覽器錢包是旨在通過網絡瀏覽器使用的加密錢包。對我們大多數人來說,當我們看到「瀏覽器錢包」時,我們就會想到 MetaMask 這樣的瀏覽器擴展項目,人們可以直接下載到 Chrome、Bra.

1900/1/1 0:00:00
10 張全景圖帶你走進 Web3 生態_WEB3

前一篇文章中,我們對 Web3 做了基本科普,總結起來就是,Web3 是基于區塊鏈的去中心化生態網絡,它的核心特點是用戶在使用 Web3 服務和應用的同時,可以擁有和控制自己的資產和數據.

1900/1/1 0:00:00
以太坊2.0合并之時ETH并未上漲 熊市如何對待ETH?_以太坊

在最近的暴跌中,許多人像驚弓之鳥一樣搖擺不定。以太坊2.0合并不再讓人們興奮,而是讓他們感到擔憂。以太坊有很多事情要做,合并一再推遲.

1900/1/1 0:00:00
元宇宙面臨的法律問題_FACE

新的事物總是會挑戰現有的法律。沒有永遠完善的法律,只有持續不斷修改更加完善的法律。元宇宙作為新的事物,正在沖擊著如今社會、經濟等元素,也包括了法律.

1900/1/1 0:00:00
三箭資本大敗局:ETH第一Holder身陷流動性危機_以太坊

機構高調重倉后的第一個大熊市,底在哪里?加密市場陷入恐慌,利空正逐漸兌現。Luna 崩盤、Celsius 資不抵債、stETH 脫錨……伴隨著一系列的壞消息,市場不斷觸及新低,毫無反彈.

1900/1/1 0:00:00
ads