原文作者:九九,慢霧安全團隊
2022年6月27日,據慢霧區消息,XCarnival項目被曝出嚴重漏洞遭黑客攻擊并盜走3,087個ETH。XCarnival是一個ETH鏈上的NFT借貸項目,目前項目團隊正在修復漏洞并承諾會對受影響的用戶提供解決方案。慢霧安全團隊第一時間介入分析,并將結果分享如下:
相關信息
核心合約地址
P2Controller:
0x34ca24ddcdaf00105a3bf10ba5aae67953178b85
XNFT:
0x39360AC1239a0b98Cb8076d4135d0F72B7fd9909
xToken:
0x5417da20aC8157Dd5c07230Cfc2b226fDCFc5663
派盾:一名Nomad攻擊者將約150萬的資產轉移至Tornado Cash:1月9日消息,PeckShield Alert表示,一名Nomad攻擊者相關地址將1205枚ETH(約150萬美元)轉移至Tornado Cash。[2023/1/9 11:02:00]
攻擊者EOA地址
0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a
攻擊合約地址
0xf70F691D30ce23786cfb3a1522CFD76D159AcA8d
0x234e4B5FeC50646D1D4868331F29368fa9286238
0x7B5A2F7cd1cc4eEf1a75d473e1210509C55265d8
0xc45876C90530cF0EE936c93FDc8991534F8A6962
Solana已將Move語言代碼添加到Github存儲庫:金色財經消息,Solana已將Move語言代碼添加到Github存儲庫,用于提供LLVM IR 支持。據悉,Meta幾家初創公司正在使用Move來構建新的區塊鏈。[2022/9/3 13:06:41]
漏洞核心點分析
1.攻擊者通過XNFT合約中的pledgeAndBorrow函數來進行抵押NFT并借出xToken。
在pledgeInternal函數中轉入NFT并生成訂單:
數據:1000枚BTC從Bitfinex轉移至Binance交易所:金色財經報道,據Whale Alert數據顯示,1000枚BTC從Bitfinex轉移至Binance交易所。[2022/8/14 12:24:46]
2.接著調用withdrawNFT函數提取出質押的NFT,其中首先判斷該訂單是否被清算狀態,如果不是則判斷該訂單的狀態是否為NFT還未被提取且借款金額為0,如果通過即可提取抵押的NFT。
3.以上為攻擊前生成訂單的準備操作,接著攻擊者開始利用生成的訂單直接調用xToken合約中的borrow函數進行借款。
國務院辦公廳同意建立數字經濟發展部際聯席會議制度:金色財經消息,7月25日,國務院辦公廳發文“國務院辦公廳關于同意建立數字經濟發展部際聯席會議制度的函”。根據《“十四五”數字經濟發展規劃》部署,為加強統籌協調,不斷做強做優做大我國數字經濟,經國務院同意,建立數字經濟發展部際聯席會議制度。[2022/7/25 2:36:26]
在borrowInternal函數中,會外部調用controller合約中的borrowAllowed函數來判斷是否可以借款。
可以看到在borrowAllowed函數會調用orderAllowed函數進行訂單相關信息的判斷,但是在這兩個函數中均沒有進行_order.isWithdraw狀態的判斷。因此攻擊者可以利用之前生成的訂單來調用XToken的borrow函數來借款,而因為抵押的NFT在之前已經被提出,故攻擊者可以不用還款來實現獲利。
攻擊交易分析
此處僅展示其中一筆攻擊交易的細節,其余攻擊交易的手法均一致,不再贅述。
攻擊前準備——生成訂單的交易:
0x61a6a8936afab47a3f2750e1ea40ac63430a01dd4f53a933e1c25e737dd32b2f
1.首先攻擊者將NFT轉入攻擊合約并進行授權,接著調用xNFT合約中的pledgeAndBorrow函數在進行抵押NFT生成訂單并借款的操作,此處需要注意一點是該函數可以控制傳入的xToken,攻擊者傳入了自己構造的xToken合約地址,并且讓借款數量為0,目的是為了滿足后續能成功提出NFT時的不被清算且負債為0的條件。
2.攻擊者緊接著調用withdrawNFT函數來進行提取抵押的NFT:
正式攻擊交易:
0x51cbfd46f21afb44da4fa971f220bd28a14530e1d5da5009cfbdfee012e57e35
攻擊者調用xToken合約的borrow函數,傳入之前生成的訂單的orderID,重復了該操作22次,而因為NFT在準備階段已經提走,估計無需還款以此來獲利。
總結
本次漏洞的核心在于借款的時候,沒有進行訂單中NFT是否被提走的狀態的判斷,導致攻擊者可以在把NFT提走之后再利用之前生成的訂單來借款而無需還款,以此來獲利。針對此類漏洞,慢霧安全團隊建議在進行借款操作時應做好訂單狀態中是否已經提走抵押品的判斷,避免再次出現此類問題。
來源:金色財經
為了支持更多的數字藝術者實現夢想,推動數字藝術平臺生態良性發展,增加藏品有效流通,「星圖數藝」將于2022年7月初獨立上線.
1900/1/1 0:00:00隨著通貨膨脹的飆升,比特幣是對沖通脹的長期主張已經走到了岔路口,但比特幣的價格卻并非如此。比特幣與通貨膨脹的相關性自問世以來就被廣泛討論.
1900/1/1 0:00:006月24日,Harmony團隊發布推特指出,發現Horizon跨鏈橋遭到攻擊,損失金額約1億美元。Horizon是由Layer1公鏈Harmony開發的與以太坊間的資產跨鏈橋.
1900/1/1 0:00:002022年6月22日Superrun官方在推特發文:將與農民世界聯合發行NFT。 Bitfinex向Tether轉入6000萬枚USDT:12月28日消息,被Etherscan標記為Bitfin.
1900/1/1 0:00:00導演第725篇原創每日行情分析2022.06.25 第一部分市場情緒 工業互聯網平臺領域首批國家標準正式發布實施:金色財經報道,近日.
1900/1/1 0:00:00作為互聯網世界的最小單元,人們為了獲得互聯網帶來的便利,在參與線上生活、工作、交易的過程中不得不出讓自己的隱私數據:必須在網站上輸入信用卡號碼,必須向房屋中介提供自己的銀行信用記錄.
1900/1/1 0:00:00