原文作者:九九,慢霧安全團隊
2022年6月27日,據慢霧區消息,XCarnival項目被曝出嚴重漏洞遭黑客攻擊并盜走3,087個ETH。XCarnival是一個ETH鏈上的NFT借貸項目,目前項目團隊正在修復漏洞并承諾會對受影響的用戶提供解決方案。慢霧安全團隊第一時間介入分析,并將結果分享如下:
相關信息
核心合約地址
P2Controller:
0x34ca24ddcdaf00105a3bf10ba5aae67953178b85
XNFT:
0x39360AC1239a0b98Cb8076d4135d0F72B7fd9909
xToken:
0x5417da20aC8157Dd5c07230Cfc2b226fDCFc5663
慢霧:針對傳言火幣信息泄漏事件不涉及用戶賬戶與資金安全 請保持客觀冷靜對待:據官方消息,慢霧注意到近日有白帽子公開了此前一個火幣已經處理完畢的過往漏洞信息。經慢霧與火幣官方確認,火幣本著負責任披露信息的策略,對本次事件做以下說明:本次事件是小范圍內(4000人)的用戶聯絡信息泄露,信息種類不涉及敏感信息,不涉及用戶賬戶與資金安全。事件發生于2021年6月22日日本站測試環境S3桶相關人員不規范操作導致,相關用戶信息于2022年10月8日已經完全隔離,日本站與火幣全球站無關。本次事件由白帽團隊發現后,火幣安全團隊2023年6月21日(10天前)已第一時間進行處理,立即關閉相關文件訪問權限,當前漏洞已修復,所有相關用戶信息已經刪除。感謝白帽團隊對于火幣安全做出的貢獻。最后提醒請大家冷靜對待,切勿傳謠。[2023/7/1 22:12:01]
攻擊者EOA地址
慢霧:V神相關地址近日于Uniswap賣出3000枚以太坊:11月14日消息,據慢霧監測顯示,以太坊創始人Vitalik Buterin地址(0xe692開頭)近日在Uniswap V3上分三筆將3000枚以太坊(約400萬美元)兌換成了USDC。[2022/11/14 13:03:22]
0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a
攻擊合約地址
0xf70F691D30ce23786cfb3a1522CFD76D159AcA8d
0x234e4B5FeC50646D1D4868331F29368fa9286238
0x7B5A2F7cd1cc4eEf1a75d473e1210509C55265d8
0xc45876C90530cF0EE936c93FDc8991534F8A6962
分析 | 慢霧:韓國交易所 Bithumb XRP 錢包也疑似被黑:Twitter 上有消息稱 XRP 地址(rLaHMvsPnPbiNQSjAgY8Tf8953jxQo4vnu)被盜 20,000,000 枚 XRP(價值 $6,000,000),通過慢霧安全團隊的進一步分析,疑似攻擊者地址(rBKRigtRR2N3dQH9cvWpJ44sTtkHiLcxz1)于 UTC 時間 03/29/2019?13:46 新建并激活,此后開始持續 50 分鐘的“盜幣”行為。此前慢霧安全團隊第一時間披露 Bithumb EOS 錢包(g4ydomrxhege)疑似被黑,損失 3,132,672 枚 EOS,且攻擊者在持續洗幣。更多細節會繼續披露。[2019/3/30]
漏洞核心點分析
1.攻擊者通過XNFT合約中的pledgeAndBorrow函數來進行抵押NFT并借出xToken。
聲音 | 慢霧:使用中心化數字貨幣交易所及錢包的用戶注意撞庫攻擊:據慢霧消息,近日,注意到撞庫攻擊導致用戶數字貨幣被盜的情況,具體原因在于用戶重復使用了已泄露的密碼或密碼通過撞庫攻擊的“密碼生成基本算法”可以被輕易猜測,同時用戶在這些中心化服務里并未開啟雙因素認證。分析認為,被盜用戶之所以沒開啟雙因素認證是以為設置了獨立的資金密碼就很安全,但實際上依賴密碼的認證體系本身就不是個足夠靠譜的安全體系,且各大中心化數字貨幣交易所及錢包在用戶賬號風控體系的策略不一定都一致,這種不一致可能導致用戶由于“慣性思維”而出現安全問題。[2019/3/10]
在pledgeInternal函數中轉入NFT并生成訂單:
2.接著調用withdrawNFT函數提取出質押的NFT,其中首先判斷該訂單是否被清算狀態,如果不是則判斷該訂單的狀態是否為NFT還未被提取且借款金額為0,如果通過即可提取抵押的NFT。
3.以上為攻擊前生成訂單的準備操作,接著攻擊者開始利用生成的訂單直接調用xToken合約中的borrow函數進行借款。
在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提走之后再利用之前生成的訂單來借款而無需還款,以此來獲利。針對此類漏洞,慢霧安全團隊建議在進行借款操作時應做好訂單狀態中是否已經提走抵押品的判斷,避免再次出現此類問題。
Tags:NFTBORROWTOKENSODIUM Vault (NFTX)Champignons of ArborethiaCarbon BrowserXT Token
世界上的游戲比金融產品多,這是因為創造一個游戲很容易,而且沒有任何規則或限制扼殺創造力。大多數關注加密貨幣的用戶聽說過DeFiSummer,這發生在2020年,當時,看起來DeFi將是加密貨幣和.
1900/1/1 0:00:00DeFi數據 1.DeFi代幣總市值:478.66億美元 DeFi總市值數據來源:coingecko2.過去24小時去中心化交易所的交易量:38.
1900/1/1 0:00:00太長不看版: 在比特幣誕生之處,它主要被用于非法市場,臭名昭著。直到以太坊誕生,人們才看到了區塊鏈技術在金融之外的可能性。像IBM這樣的大公司曾經嘗試推廣聯盟鏈.
1900/1/1 0:00:00MakerDAO?、Aave等龍頭項目從容不迫、無論是治理還是清算都井井有條;Solend、Maple?等新興項目狀況頻出。近期,比特幣、以太坊價格持續下跌,紛紛創下過去一年價格新低.
1900/1/1 0:00:00注:原文作者為Bankless?編輯JemKhawaja下文由DeFi之道編譯。熊市令人心生厭惡。除非你是一頭捕食投降浮游生物的加密巨鯨,否則數據上大概率會下跌一段時間.
1900/1/1 0:00:00隨著布道者、探索者與實驗產品越來越多,Web3正從一個模糊的概念變得具體。一方面,Web3的基礎設施與市場教育等愈發完善,加之頗具吸引力的財富效應,StepN、無聊猿等Web3產品一時吸引了大量.
1900/1/1 0:00:00