前言
8月17日,BSC鏈上的XSURGE協議遭到閃電貸攻擊,損失超過500萬美元。對此,知道創宇區塊鏈安全實驗室對攻擊流程和代碼細節進行了全盤梳理。
全盤梳理
基礎信息
-攻擊tx:0x7e2a6ec08464e8e0118368cb933dc64ed9ce36445ecf9c49cacb970ea78531d2-攻擊合約:
0x1514AAA4dCF56c4Aa90da6a4ed19118E6800dc46
全球游戲商業服務提供商Xsolla推出“NFT結賬”服務:10月21日消息,全球游戲商業服務提供商艾克索拉(Xsolla)宣布推出NFT結賬服務“NFT Checkout”,旨在幫助游戲玩家用一種更簡單的方式來鑄造、購買和出售NFT,同時還支持使用以太坊、Solana等區塊鏈上的加密貨幣交易。艾克索拉還表示開發人員也可以使用“NFT Checkout”將NFT添加到自己的游戲生態中并處理NFT鑄造和交付,并直接處理游戲內置商品分發和結賬。(nftevening)[2022/10/21 16:34:13]
-SurgeToken:
庫幣于6月22日15:00開放Xensor (XSR):據庫幣KuCoin交易所消息,庫幣已于6月22日15:00正式上線Xensor (XSR) 項目并支持XSR/USDT交易服務。Xensor項目基于ethash加密算法,通過自動化數據管理,提高數據存儲和交易的效率,進一步降低了構建物聯網通信網絡的成本。Xensor還將區塊鏈技術集成到設備網絡中,以確保數據的可信度,并計劃在未來對其硬件客戶實施激勵政策。庫幣是一家全球性數字貨幣交易所,為來自207個國家的500萬用戶提供幣幣、法幣、合約、礦池、借貸等一站式服務。[2020/6/22]
0xE1E1Aa58983F6b8eE8E4eCD206ceA6578F036c21
Fxstreet分析師Tanya Abrosimova:看漲勢頭在減弱 比特幣波動性下降至去年5月以來最低水平:Fxstreet分析師Tanya Abrosimova分析,加密貨幣市場正在復蘇,但看漲勢頭在減弱,復蘇可能會暫停。最近幾周市場波動性有所下降,自2018年初以來,30天比特幣波動率指數下降8%,現報2.77%,這是自2017年5月以來的最低水平。[2018/6/6]
攻擊流程
這里有個小細節,代幣轉移流程中的順序是按照事件先后順序來顯示的,而重入之后的買操作引起的事件會在賣操作引起的事件之前,所以在流程中看到的每一個單獨的重入攻擊中是SURGE的買入發生在賣出之前。
漏洞原理
漏洞點在于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代幣而獲利。
簡而言之,典型的重入漏洞場景,教科書級的案例。
尊敬的XT用戶: 因MARS錢包維護,XT.COM現已暫停MARS充提業務。給您帶來的不便,請您諒解!感謝您對XT.COM的支持與信任.
1900/1/1 0:00:00鏈聞消息,去中心化社交媒體平臺Yup獲得350萬美元種子輪融資,DistributedGlobal領投,DapperLabs、LDCapital、AmbushCapital參投.
1900/1/1 0:00:00UmbrellaNetwork月度回顧:九月版UmbrellaNetwork在9月份取得了長足的進步。大量的公告,大量的媒體報道,以及來自社區大量的愛.
1900/1/1 0:00:00親愛的BitMart用戶:BitMart將于2021年10月15日上線代幣UltiArena(ULTI)。屆時將開通ULTI/USDT交易對.
1900/1/1 0:00:00撰文:ForesightVentures 概要: 公鏈總鎖倉量數據大漲,接近歷史最高水平。Fantom鏈多項協議表現出色。NFT市場銷量有所上升.
1900/1/1 0:00:00據《新京報》消息,10月11日下午,在北京舉辦的2021中國IPv6創新發展大會上,北京市委常委、副市長殷勇在致辭中表示,在深入推進全球數字經濟標桿城市的建設中.
1900/1/1 0:00:00