前言
8月17日,BSC鏈上的XSURGE協議遭到閃電貸攻擊,損失超過500萬美元。對此,知道創宇區塊鏈安全實驗室對攻擊流程和代碼細節進行了全盤梳理。
全盤梳理
基礎信息
-攻擊tx:0x7e2a6ec08464e8e0118368cb933dc64ed9ce36445ecf9c49cacb970ea78531d2-攻擊合約:
0x1514AAA4dCF56c4Aa90da6a4ed19118E6800dc46
-SurgeToken:
0xE1E1Aa58983F6b8eE8E4eCD206ceA6578F036c21
歐易OKX將于7月6日18:00上線FXS,現已開放充值:金色財經報道,歐易OKX將于7月6日18:00上線Frax Finance效用代幣FXS,并開通FXS/USDT交易對,現已開放FXS充值,FXS提現將于7月7日18:00開放。FXS是Frax協議中的非穩定效用代幣,擁有系統的治理權,發行總量為99,681,752枚。[2023/7/6 22:21:04]
攻擊流程
Axie Infinity的OriginsS4上線,獎勵超11萬枚AXS:5月10日消息,鏈游 Axie Infinity 宣布 Origins S4 上線,總獎池達 111,764 AXS,該賽季持續 42 天,引入了一個新的機制,玩家可以使用能量碎片來保留他們的卡牌,此外還對競技場排名獎勵和進度進行了升級。[2023/5/10 14:54:26]
這里有個小細節,代幣轉移流程中的順序是按照事件先后順序來顯示的,而重入之后的買操作引起的事件會在賣操作引起的事件之前,所以在流程中看到的每一個單獨的重入攻擊中是SURGE的買入發生在賣出之前。
漏洞原理
漏洞點在于SurgeToken合約中的sell()函數,其中對調用者msg.sender的BNB轉賬采用的call()函數,并且在轉賬之后才更新代幣總量_totalSupply,是典型的重入漏洞場景。
財經網站Fxstreet:美國通脹數據后黃金有了更多上升空間:11月11日消息,財經網站Fxstreet表示,美國持續數十年的通脹推動金價大幅上漲,突破了關鍵的1834美元阻力位,飆升至6月16日以來的最高水平,之后大幅回落至1853美元/盎司。盡管美元重新走強,但金價仍大幅上漲,因為通脹飆升增強了黃金作為通脹對沖工具的吸引力。在節日期間市場疲軟的情況下,金價在最近的飆升后正小幅回調。然而,美元反彈趨勢的暫停限制了金價的回落。近期來看,在美國通脹數據之后以及美國退伍軍人節假期期間,金價走勢可能仍然有限,將保持在熟悉的價格區間內。(金十)[2021/11/11 6:45:56]
Coinbase Pro將上線AXS、REQ、TRU和WLUNA:金色財經報道,據官方公告消息,Coinbase Pro將上線Axie Infinity(AXS)、Request(REQ)、TrueFi(TRU)和Wrapped Luna(WLUNA),目前已支持入站轉賬。一旦滿足流動性條件,交易將在太平洋時間8月12日上午9點或之后開啟。[2021/8/12 1:49:52]
雖然\nsell()函數使用了nonReentrant修飾防止了重入,但purchase()函數并沒有。重入轉回BNB給合約,觸發\nfallback函數調用purchase(),由于_totalSupply尚未減去賣出量,而導致可買入相較正常更多的SURGE代幣。
復現
價格分析
sell()函數賣出過程中,輸入tokenAmount與輸出amountBNB的關系:
purchase()函數買入過程中,輸入bnbAmount與輸出tokensToSend的關系:
在重入過程中,sell()函數賣出后獲得的BNB通過重入打回SurgeToken合約傳入purchase()函數故令sell()函數的輸出amountBNB與purchase()函數的輸入bnbAmount相等,可得到整個利用流程中輸入與輸出的關系:
若要實現套利,需要輸出大于輸入,則有:
最后得到:
也就是說重入套利過程中調用sell()賣出的代幣量必須在代幣總量的12.383%以上
模擬演示
為方便調試,將SurgeToken合約中的mint()函數可見性改為public,并為構造函數增加payable修飾,在部署時傳入10^15wei。
SurgeToken合約初始化的代幣總量為10^9,根據前面推導出的結論,為攻擊合約鑄幣200000000,則攻擊合約擁有大約SURGE代幣總量16%的代幣。
攻擊合約調用Attack()函數攻擊,查看攻擊合約的代幣余額已變為209549307,獲利9549307。
總結
XSURGE協議被攻擊的本質原因在于sell()函數中存在重入漏洞,導致可通過purchase函數買入較多的SURGE代幣而獲利。
簡而言之,典型的重入漏洞場景,教科書級的案例。
Dogecoin,一夜之間鑄就百萬富翁的“玩笑”貨幣;CryptoKitties,卡通貓數字交易卡,售價超過10萬美元;Pringles“風味”僅作為NFT數字產品存在.
1900/1/1 0:00:00如果你曾經試圖參與一場備受期待的NFT的交易,你可能經歷了交易費用的大幅飆升,結果很可能是一場失敗的交易;Gas戰爭是博弈論的不幸后果之一;人類決策的副作用.
1900/1/1 0:00:00摘要: 去中心化自治組織已成為一種有趣的軟件應用程序新類別。初始應用正在顛覆金融行業,但該技術不僅只限于金融科技應用或資產.
1900/1/1 0:00:00潮水襲來,潮水退出,周而復始,我們告別二零二一,迎來二零二二。1比特幣歷史新高美CPI近40年新高在美國全面開閘放水的背景下,比特幣價格11月10日創下69000美金的歷史新高.
1900/1/1 0:00:00DAOrayakiDAO研究獎金池: 同行評審期刊和同行插頭 我已經厭倦了多年來懇求我的醫生朋友在某些特定期刊上向我發送文章,也厭倦了使用Sci-Hub.
1900/1/1 0:00:00預計到2022年,企業在區塊鏈解決方案上的支出規模將會達到117億美元,《福布斯》專欄作家針對明年區塊鏈、Web3.0市場發展趨勢做了預測.
1900/1/1 0:00:00