前言
8月17日,BSC鏈上的XSURGE協議遭到閃電貸攻擊,損失超過500萬美元。對此,知道創宇區塊鏈安全實驗室對攻擊流程和代碼細節進行了全盤梳理。
全盤梳理
基礎信息
-攻擊tx:0x7e2a6ec08464e8e0118368cb933dc64ed9ce36445ecf9c49cacb970ea78531d2-攻擊合約:
0x1514AAA4dCF56c4Aa90da6a4ed19118E6800dc46
幣安將于5月4日移除AXS/BRL、UNI/EUR、YGG/BNB等現貨交易對:據官方消息,幣安宣布將于5月4日11時移除移對并停止交易以下現貨交易對:AXS/BRL、GAL/BRL、GLMR/BNB、RAD/BNB、UNI/EUR、VOXEL/BNB、YGG/BNB現貨交易對,用戶仍可以在幣安上的其它交易對中交易上述幣種。[2023/5/2 14:38:27]
-SurgeToken:
0xE1E1Aa58983F6b8eE8E4eCD206ceA6578F036c21
社交公鏈Crossbell的xSync模塊完成與Telegram的集成:11月11日消息,Crossbell官方宣布,用戶可以在Crossbell鏈上通過xSync模塊關聯Telegram賬戶,實現去中心化訂閱推送。
目前xSync功能已完成了Telegram和Twitter的集成。未來將集成更多Web2內容與社交應用,幫助用戶進行Web3社交遷移。[2022/11/11 12:47:24]
攻擊流程
這里有個小細節,代幣轉移流程中的順序是按照事件先后順序來顯示的,而重入之后的買操作引起的事件會在賣操作引起的事件之前,所以在流程中看到的每一個單獨的重入攻擊中是SURGE的買入發生在賣出之前。
火幣全球站已暫停AXS充提業務:據官方公告,由于AXS合約升級,火幣全球站現已暫停 AXS (Axie Infinity) 的充幣和提幣業務。[2021/5/24 22:37:41]
漏洞原理
漏洞點在于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代幣而獲利。
簡而言之,典型的重入漏洞場景,教科書級的案例。
Tags:BNBSURSURGEURGtogetherbnb換裝都有什么衣服insur幣最新消息Surge InuUrGaming
尊敬的用戶: Huobi?Global致力于推動區塊鏈行業健康發展,保護用戶合法權益,鑒于BCX、BIFI、SBTC通證觸發《火幣通證管理規則》第十九條的規定.
1900/1/1 0:00:00親愛的ZT用戶: ZT創新板即將上線ARV,並開啟ARV/USDT交易對。具體上線時間如下:充值:已開啟;交易:2021年10月9日17:00; ARV 項目簡介:Ariva是由ArivaCo.
1900/1/1 0:00:00尊敬的BitZ用戶: 為響應政策監管要求,BitZ已于2021年9月26日停止了中國大陸新用戶注冊和KYC.
1900/1/1 0:00:00上線9天,鎖倉量突破5億美元,這是Dsgmetaverse交的答卷。同時治理代幣DSG隨著業務量水漲船高,社區熱度持續升溫,這樣的成績足以配得上“神礦”的贊譽.
1900/1/1 0:00:00公告編號2021100501各位關心ZBG的投資者們和項目方:HT(HECO),DOG,MDX因錢包維護暫停充提幣,具體開放時間以公告為準,給您帶來不便深感抱歉,敬請諒解.
1900/1/1 0:00:00從今年二月份BSC上線以來,新一輪“公鏈之爭”再度興起。無論是Polygon、Polkadot等跨鏈解決方案,還是以Avalanche、Solana等為代表的新一代公鏈設施,一個又一個項目以挑戰.
1900/1/1 0:00:00