SATX攻擊事件分析
背景介紹
監控到一起的針對SATX Token的鏈上攻擊事件https://bscscan.com/tx/0x7e02ee7242a672fb84458d12198fae4122d7029ba64f3673e7800d811a8de93f
黑客總共發起了兩次攻擊:
第一次攻擊https://bscscan.com/tx/0x3c6eb46bc7203c4996ed0886f25bec3d806000506dea2f2778df374380014105
失敗,因爲在調用攻擊合約的時候沒有轉入BNB ,導致在執行BNB兌換爲WBNB失敗交易回滾。
第二次攻擊成功。
黑客的初始資金均來自於TornadoCash,
有趣的是攻擊者的攻擊合約函數名爲f***you。
攻擊及事件分析
首先,攻擊者通過PancakeSwap將0.001 WBNB兌換爲13.397690168956297175 SATX。隨後,利用PancakeSwap Pair WBNB-CAKE 兌換60 WBNB。
接着,在回調函數中再用0.0001 WBNB兌換 350018.558642186154111639 SATX(在回調函數中又轉入了52 WBNB)。
接着,又將兌換來的350018.558642186154111639 SATX轉入PancakeSwap Pair WBNB-SATX ,導致資金不平衡。然後,攻擊者通過調用skim和sync平衡資金的同時從而完成對漏洞的利用。
由上圖可以看到,通過skim本應從 PancakeSwap Pair中轉出350018.558642186154111639 SATX來平衡資金,但是卻多轉了一倍的SATX 。
通過查看SATX Token合約的代碼,我們可以看到transfer中的這段代碼。首先,將amount轉給了_tokenOwner,
接下來,將amount的2.99%轉給了SATX Token合約,將amout的97.01%除以1000000的10%,9%和8.3%分別轉給了三個EOA。
相當於額外轉出了約一倍的SATX ,導致PancakeSwap Pair WBNB-SATX中的SATX 驟減,由於PancakeSwapV2使用的CPMM作爲AMM算法,所以相當於SATX的價值飆升。
執行skim前,1 WBNB=13844 SATX,執行 skim後,1 WBNB=33 SATX。導致SATX價值飆升600多倍。
隨後,攻擊者就用手中的SATX通過swap兌換爲WBNB。通過此次攻擊,攻擊者共獲利約50BNB。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。