前言
8月17日,BSC鏈上的XSURGE協議遭到閃電貸攻擊,損失超過500萬美元。對此,知道創宇區塊鏈安全實驗室對攻擊流程和代碼細節進行了全盤梳理。
全盤梳理
基礎信息
-攻擊tx:0x7e2a6ec08464e8e0118368cb933dc64ed9ce36445ecf9c49cacb970ea78531d2-攻擊合約:
0x1514AAA4dCF56c4Aa90da6a4ed19118E6800dc46
StraitsX在Hedra上推出新加坡元穩定幣XSGD:5月24日消息,數字資產支付基礎設施StraitsX在Hedra上推出新加坡元穩定幣XSGD,用戶可通過StraitsX平臺在Hedera網絡上發送和接收XSGD。Hedra基金會表示XSGD可能會在未來幾個月內上線交易所。[2023/5/24 22:15:30]
-SurgeToken:
0xE1E1Aa58983F6b8eE8E4eCD206ceA6578F036c21
攻擊流程
SushiSwap基于Stargate啟動跨鏈AMM SushiXSwap:7月21日消息,SushiSwap宣布基于跨鏈橋Stargate啟動跨鏈 AMM SushiXSwap,允許用戶跨鏈橋接和交易多種代幣,目前支持的網絡包括Optimism、Arbitrum、Fantom、BNB Chain和Avalanche。
SushiSwap表示,SushiXSwap是一個統一的多鏈用戶界面,用于在任何主要鏈之間交易代幣,使用戶能夠在每條鏈上使用協議流動性池,在目標鏈上獲得所需的資產。[2022/7/21 2:29:26]
這里有個小細節,代幣轉移流程中的順序是按照事件先后順序來顯示的,而重入之后的買操作引起的事件會在賣操作引起的事件之前,所以在流程中看到的每一個單獨的重入攻擊中是SURGE的買入發生在賣出之前。
公告 | 火幣全球站暫停GXS充提業務:火幣全球站公告,由于GXChain在白皮書3.0中預告了其主鏈token——GXS,將在2018年11月06日8時完成升級之后更名為GXC,為配合項目方完成更名工作,火幣全球站現已暫停其充提業務,具體恢復時間將以公告形式另行通知。[2018/11/6]
漏洞原理
漏洞點在于SurgeToken合約中的sell()函數,其中對調用者msg.sender的BNB轉賬采用的call()函數,并且在轉賬之后才更新代幣總量_totalSupply,是典型的重入漏洞場景。
雖然sell()函數使用了nonReentrant修飾防止了重入,但purchase()函數并沒有。重入轉回BNB給合約,觸發fallback函數調用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代幣而獲利。
簡而言之,典型的重入漏洞場景,教科書級的案例。
尊敬的用戶: 第十期的陽光普照投票已圓滿結束。本期陽光普照用戶質押總量共計47793186.92?USDT。投票獎勵PKEX已空投至用戶賬戶.
1900/1/1 0:00:00親愛的ZT用戶: ZT創新板即將上線LUFFY,並開啟LUFFY/USDT交易對。具體上線時間如下:充值:已開啟;交易:2021年10月11日17:00; LUFFY 項目簡介:LUFFYInu.
1900/1/1 0:00:00親愛的BitMart用戶:BitMart將于2021年10月19日上線代幣TheCoopNetwork(GMD)。屆時將開通GMD/USDT交易對.
1900/1/1 0:00:00加密收藏家MikeNovogratz似乎并不像我們其他人那樣看好NFT。美國銀行正在展望光明的未來。NFT市場已經正式發行了價值超過100億美元的NFT.
1900/1/1 0:00:00福布斯10月5日消息,早期風投公司NFX今天宣布成立一只新的風投基金,這只4.5億美元的基金將專注于加密貨幣以及金融科技、地產科技、市場、游戲和生物科技等新興垂直領域.
1900/1/1 0:00:00來源:DappRadar 編譯:AmyLiu 原文標題:《DappRadar:區塊鏈用戶行為報告——游戲視角》游戲和?NFT?仍然受到業界的極大關注.
1900/1/1 0:00:00