原文作者:九九,慢霧安全團隊
2022年6月27日,據慢霧區消息,XCarnival項目被曝出嚴重漏洞遭黑客攻擊并盜走3,087個ETH。XCarnival是一個ETH鏈上的NFT借貸項目,目前項目團隊正在修復漏洞并承諾會對受影響的用戶提供解決方案。慢霧安全團隊第一時間介入分析,并將結果分享如下:
相關信息
核心合約地址
P2Controller:
0x34ca24ddcdaf00105a3bf10ba5aae67953178b85
XNFT:
0x39360AC1239a0b98Cb8076d4135d0F72B7fd9909
xToken:
0x5417da20aC8157Dd5c07230Cfc2b226fDCFc5663
慢霧:過去一周Web3因安全事件損失約265萬美元:7月17日消息,慢霧發推稱,2023年7月10日至7月16日期間,Web3發生5起安全事件,總損失為265.5萬美元,包括Arcadia Finance、Rodeo Finance、LibertiVault、Platypus、Klever。[2023/7/17 10:59:08]
攻擊者EOA地址
0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a
攻擊合約地址
0xf70F691D30ce23786cfb3a1522CFD76D159AcA8d
0x234e4B5FeC50646D1D4868331F29368fa9286238
0x7B5A2F7cd1cc4eEf1a75d473e1210509C55265d8
慢霧:Solana公鏈上發生大規模盜幣,建議用戶先將熱錢包代幣轉移到硬件錢包或知名交易所:8月3日消息,據慢霧區情報,Solana公鏈上發生大規模盜幣事件,大量用戶在不知情的情況下被轉移SOL和SPL代幣,慢霧安全團隊對此事件進行跟蹤分析:
已知攻擊者地址:
Htp9MGP8Tig923ZFY7Qf2zzbMUmYneFRAhSp7vSg4wxV、CEzN7mqP9xoxn2HdyW6fjEJ73t7qaX9Rp2zyS6hb3iEu、5WwBYgQG6BdErM2nNNyUmQXfcUnB68b6kesxBywh1J3n、GeEccGJ9BEzVbVor1njkBCCiqXJbXVeDHaXDCrBDbmuy
目前攻擊仍在進行,從交易特征上看,攻擊者在沒有使用攻擊合約的情況下,對賬號進行簽名轉賬,初步判斷是私鑰泄露。不少受害者反饋,他們使用過多種不同的錢包,以移動端錢包為主,我們推測可能問題出現在軟件供應鏈上。在新證據被發現前,我們建議用戶先將熱錢包代幣轉移到硬件錢包或知名交易所等相對安全的位置,等待事件分析結果。[2022/8/3 2:55:22]
0xc45876C90530cF0EE936c93FDc8991534F8A6962
慢霧:跨鏈互操作協議Poly Network遭受攻擊并非由于網傳的keeper私鑰泄漏:對于跨鏈互操作協議Poly Network遭受攻擊事件,慢霧安全團隊分析指出:本次攻擊主要在于EthCrossChainData合約的keeper可由EthCrossChainManager合約進行修改,而EthCrossChainManager合約的verifyHeaderAndExecuteTx函數又可以通過_executeCrossChainTx函數執行用戶傳入的數據。因此攻擊者通過此函數傳入精心構造的數據修改了EthCrossChainData合約的keeper為攻擊者指定的地址,并非網傳的是由于keeper私鑰泄漏導致這一事件的發生。[2021/8/11 1:47:48]
漏洞核心點分析
1.攻擊者通過XNFT合約中的pledgeAndBorrow函數來進行抵押NFT并借出xToken。
慢霧:Lendf.Me攻擊者剛歸還了126,014枚PAX:慢霧安全團隊從鏈上數據監測到,Lendf.Me攻擊者(0xa9bf70a420d364e923c74448d9d817d3f2a77822)剛向Lendf.Me平臺admin賬戶(0xa6a6783828ab3e4a9db54302bc01c4ca73f17efb)轉賬126,014枚PAX,并附言\"Better future\"。隨后Lendf.Me平臺admin賬戶通過memo回復攻擊者并帶上聯系郵箱。此外,Lendf.Me攻擊者錢包地址收到一些受害用戶通過memo求助。[2020/4/20]
在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:NFTBORROWXTOKENNFTSwapsBored Floki Yacht Clubsquidgrow幣最新消息XTOKEN價格
你安裝了每個人都在談論的新跑酷游戲,你的化身立即獲得了一套新技能。在教程關卡幾分鐘后,爬上墻壁并越過障礙物,您就可以迎接更大的挑戰了.
1900/1/1 0:00:00近期持續下殺,BTC昨日最低下探至前頂69000下降平行通道中軌線一帶止跌反彈,同時這一帶也是1.618斐波那契回撤位,所以20000-20400區間具備一定支撐性,除非有效跌破.
1900/1/1 0:00:00考慮到目前日益惡化的通脹局面,美聯儲似乎別無選擇,只能進一步提升加息幅度,并通過持續加息推升無風險利率.
1900/1/1 0:00:00我們中的很多人應該都還記得,當初那些加密錢包沒有太多選擇的日子。現在,我們有了很多選擇!以下是Bankless的職業作家和Metaversal的創建者——WilliamM.Peaster對基于瀏.
1900/1/1 0:00:00頭條 ▌美國財政部副部長:懷疑加密貨幣是否會成為主流貨幣,但可能會被用于非法金融6月15日消息,美國財政部副部長Wally?Adeyemo表示,懷疑加密貨幣是否會成為主流貨幣.
1900/1/1 0:00:00據CoinDeskKorea報道,給算法穩定幣TerraUSD造成致命打擊的“攻擊者”錢包是TerraformLabs管理的錢包.
1900/1/1 0:00:00