前言
8月17日,BSC鏈上的XSURGE協議遭到閃電貸攻擊,損失超過500萬美元。對此,知道創宇區塊鏈安全實驗室對攻擊流程和代碼細節進行了全盤梳理。
全盤梳理
基礎信息
-攻擊tx:0x7e2a6ec08464e8e0118368cb933dc64ed9ce36445ecf9c49cacb970ea78531d2-攻擊合約:
0x1514AAA4dCF56c4Aa90da6a4ed19118E6800dc46
-SurgeToken:
0xE1E1Aa58983F6b8eE8E4eCD206ceA6578F036c21
Bitstamp:將于8月29日在美國下架AXS、CHZ、MANA、MATIC、NEAR、SAND和SOL:8月8日消息,據官方公告,Bitstamp宣布出于監管等因素考慮,將從2023年8月29日起在美國暫停以下加密貨幣交易:AXS、CHZ、MANA、MATIC、NEAR、SAND和SOL。
為了確保交易暫停期間的平穩過渡,請用戶在2023年8月29日之前立即執行涉及受影響資產的買入或賣出訂單。在此截止日期之后,與AXS、CHZ、MANA、MATIC、NEAR、SAND和SOL相關的交易活動將在Bitstamp平臺上永久禁用。[2023/8/8 21:32:30]
0xScope:Genesis疑似通過Coinbase出售了價值1200萬美元的以太坊:金色財經報道,據0xScope Protocol監測,Genesis疑似通過Coinbase出售了價值1200萬美元的以太坊。此前Genesis向Coinbase轉入數萬枚以太坊,之后Coinbase地址向Genesis轉回了約1200萬枚USDC。[2023/1/20 11:23:44]
攻擊流程
這里有個小細節,代幣轉移流程中的順序是按照事件先后順序來顯示的,而重入之后的買操作引起的事件會在賣操作引起的事件之前,所以在流程中看到的每一個單獨的重入攻擊中是SURGE的買入發生在賣出之前。
聚幣Jubi將于2021年1月13日18:00上線FXS/USDT:據官方消息,聚幣Jubi將于2021年1月13日18:00(UTC+8)上線FXS(Frax),FXS的充值提現已開放。在聚幣Jubi存入FXS可獲得“充幣挖礦”雙倍算力。
Frax是一個分數算法穩定幣。Frax協議向世界介紹了一種加密貨幣的概念,即部分靠抵押支撐,部分靠算法穩定。[2021/1/13 16:04:46]
漏洞原理
漏洞點在于SurgeToken合約中的sell()函數,其中對調用者msg.sender的BNB轉賬采用的call()函數,并且在轉賬之后才更新代幣總量_totalSupply,是典型的重入漏洞場景。
NPXS獲得幣安上幣投票第1名 明日10時開放交易:幣安剛剛宣布第七期免費上幣投票活動現已結束,Pundi X(NPXS)獲得本次投票第1名。同時幣安將于6月21日10:00上線Pundi X(NPXS),并開通NPXS/BTC、NPXS/ETH交易市場。Pundi X是一個去中心化的線下數字貨幣銷售網絡。[2018/6/20]
雖然\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代幣而獲利。
簡而言之,典型的重入漏洞場景,教科書級的案例。
昨日,合規加密交易所Coinbase的首席執行官布賴恩·阿姆斯特朗(BrianArmstrong)與負責身份識別工具的主管亞歷克斯·里夫(AlexReeve)共同發表了一篇博客文章.
1900/1/1 0:00:00前言 11月3日,知道創宇區塊鏈安全實驗室監測到以太坊上的DeFi協議VesperFiFianance遭遇預言機操控攻擊,損失超300萬美元.
1900/1/1 0:00:00DAOrayakiDAO研究獎金池:感謝@vbuterin提出這個想法,感謝@barryWhiteHat的合作。本文所描述的是向MACI添加匿名化的無MPC替代方案.
1900/1/1 0:00:00Polkadot生態研究院出品,必屬精品波卡一周觀察,是我們針對波卡整個生態在上一周所發生的事情的一個梳理,同時也會以白話的形式分享一些我們對這些事件的觀察.
1900/1/1 0:00:00作者:必查客 今年夏天GameFi、NFTFi迎來爆發期,而SocialFi的概念也隨之重啟。其實SocialFi的概念,在去年時AndreCronje、Bitmex創始人等都曾提到過,并且與G.
1900/1/1 0:00:00“你來到了這里,其他人圍在你身邊,但他們不理解你,你也不理解他們,然而人們還是要說很多毫無意義的廢話。為了活下去,你只能每天從早到晚不停地做這種愚蠢又沒有意義的活計.
1900/1/1 0:00:00