原文作者:九九,慢霧安全團隊
2022 年 6 月 27 日,據慢霧區消息,XCarnival 項目被曝出嚴重漏洞遭黑客攻擊并盜走 3,087 個 ETH(約 380 萬美元)。XCarnival 是一個 ETH 鏈上的 NFT 借貸項目,目前項目團隊正在修復漏洞并承諾會對受影響的用戶提供解決方案。慢霧安全團隊第一時間介入分析,并將結果分享如下:
核心合約地址
P2Controller:
0x34ca24ddcdaf00105a3bf10ba5aae67953178b85
XNFT:
0x39360AC1239a0b98Cb8076d4135d0F72B7fd9909
xToken:
0x5417da20aC8157Dd5c07230Cfc2b226fDCFc5663
慢霧:過去一周Web3生態因安全事件損失約2400萬美元:6月19日消息,據慢霧發推稱,過去一周Web3生態系統因安全事件損失約2400萬美元,包括Atlantis Loans、Ben Armstrong、TrustTheTrident、FPG、Sturdy、Pawnfi、Move VM、Hashflow、DEP/USDT與LEV/USDC、Midas Capital,總計23,795,800美元。[2023/6/19 21:46:18]
攻擊者 EOA 地址
0xb7cbb4d43f1e08327a90b32a8417688c9d0b800a
攻擊合約地址
0xf70F691D30ce23786cfb3a1522CFD76D159AcA8d
0x234e4B5FeC50646D1D4868331F29368fa9286238
慢霧:近期出現假冒UniSat的釣魚網站,請勿交互:5月13日消息,慢霧首席信息安全官 @IM_23pds 在社交媒體上發文表示,近期有假冒比特幣銘文錢包及交易市場平臺 UniSat 的釣魚網站出現,經慢霧分析,假網站有明顯的傳統針對 ETH、NFT 釣魚團伙的作案特征,或因近期 BRC-20 領域火熱故轉而制作有關該領域的釣魚網站,請用戶注意風險,謹慎辨別。[2023/5/13 15:01:11]
0x7B5A2F7cd1cc4eEf1a75d473e1210509C55265d8
0xc45876C90530cF0EE936c93FDc8991534F8A6962
1.攻擊者通過 XNFT 合約中的 pledgeAndBorrow 函數來進行抵押 NFT 并借出 xToken。
慢霧:已凍結部分BitKeep黑客轉移資金:12月26日消息,慢霧安全團隊在社交媒體上發文表示,正在對 BitKeep 錢包進行深入調查,并已凍結部分黑客轉移資金。[2022/12/26 22:08:58]
在 pledgeInternal 函數中轉入 NFT 并生成訂單:
2. 接著調用 withdrawNFT 函數提取出質押的 NFT,其中首先判斷該訂單是否被清算狀態,如果不是則判斷該訂單的狀態是否為 NFT 還未被提取且借款金額為 0(無負債),如果通過即可提取抵押的 NFT。
慢霧:Rubic協議錯將USDC添至Router白名單,導致已授權合約用戶USDC遭竊取:12月25日消息,據慢霧安全團隊情報,Rubic跨鏈聚合器項目遭到攻擊,導致用戶賬戶中的USDC被竊取。慢霧安全團隊分享如下:1. Rubic是一個DEX跨鏈聚合器,用戶可以通過RubicProxy合約中的routerCallNative函數進行Native Token兌換。在進行兌換前,會先檢查用戶傳入的所需調用的目標 Router是否在協議的白名單中。
2. 經過白名單檢查后才會對用戶傳入的目標Router進行調用,調用數據也由用戶外部傳入。
3. 不幸的是USDC也被添加到Rubic協議的Router白名單中,因此任意用戶都可以通過RubicProxy合約任意調用USDC。
4. 惡意用戶利用此問題通過routerCallNative函數調用USDC合約將已授權給RubicProxy合約的用戶的USDC通過transferFrom接口轉移至惡意用戶賬戶中。
此次攻擊的根本原因在于Rubic協議錯誤的將USDC添加進Router白名單中,導致已授權給RubicProxy合約的用戶的USDC被竊取。[2022/12/26 22:07:00]
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 提走之后再利用之前生成的訂單來借款而無需還款,以此來獲利。針對此類漏洞,慢霧安全團隊建議在進行借款操作時應做好訂單狀態中是否已經提走抵押品的判斷,避免再次出現此類問題。
原文標題:《我們從 Crypto 市場中學到的最艱難一課(2022 年 6 月)》通脹的陰霾,縈繞在世界上每個主流國家之上.
1900/1/1 0:00:00前言:當一個人不看月亮時月亮不一定不存在,但當所有人不看月亮時月亮真的不存在。經常看到很多文章或者視頻說Web3是“契約經濟學”,這其實只是看到表面現象,的確,你們是看到了Web3ToEarn,
1900/1/1 0:00:00分析 | 金色盤面分析師:PAY出現異動 短線振幅超20%:PAY-BTC出現異動,短線振幅超過20%,形態看屬于技術反彈,無法確認反轉,短線回落較快,需要觀察6小時線支撐力度.
1900/1/1 0:00:00Web3.0霸屏,又一個概念火了。和當初元宇宙概念興起時的情景類似,這一概念10多年前就有人提出過,在移動互聯網時代陷入增長瓶頸時期被熱捧,知名機構投它,投資人關注它,社交媒體上在討論它.
1900/1/1 0:00:00跑步作為門檻最低的日常運動之一,只要你愿意走出家門,就能夠參與其中,而把跑步和代幣獎勵有機結合,幫助 STEPN 快速建立了可觀的用戶規模.
1900/1/1 0:00:00根據?Trail of Bits?的說法,分布式賬本技術?(DLT)?和包括比特幣和以太坊在內的區塊鏈可能比最初想象的更容易受到中心化風險的影響.
1900/1/1 0:00:00