天天看點

零時科技 || SATX攻擊事件分析

作者:零時科技
零時科技 || SATX攻擊事件分析

背景介紹

監控到一起的針對SATX Token的鍊上攻擊事件https://bscscan.com/tx/0x7e02ee7242a672fb84458d12198fae4122d7029ba64f3673e7800d811a8de93f

黑客總共發起了兩次攻擊:

零時科技 || SATX攻擊事件分析

第一次攻擊https://bscscan.com/tx/0x3c6eb46bc7203c4996ed0886f25bec3d806000506dea2f2778df374380014105

失敗,因為在調用攻擊合約的時候沒有轉入BNB ,導緻在執行BNB兌換為WBNB失敗交易復原。

零時科技 || SATX攻擊事件分析

第二次攻擊成功。

黑客的初始資金均來自于TornadoCash,

零時科技 || SATX攻擊事件分析

有趣的是攻擊者的攻擊合約函數名為f***you。

零時科技 || SATX攻擊事件分析

攻擊及事件分析

首先,攻擊者通過PancakeSwap将0.001 WBNB兌換為13.397690168956297175 SATX。随後,利用PancakeSwap Pair WBNB-CAKE 兌換60 WBNB。

零時科技 || SATX攻擊事件分析

接着,在回調函數中再用0.0001 WBNB兌換 350018.558642186154111639 SATX(在回調函數中又轉入了52 WBNB)。

零時科技 || SATX攻擊事件分析

接着,又将兌換來的350018.558642186154111639 SATX轉入PancakeSwap Pair WBNB-SATX ,導緻資金不平衡。然後,攻擊者通過調用skim和sync平衡資金的同時進而完成對漏洞的利用。

零時科技 || SATX攻擊事件分析

由上圖可以看到,通過skim本應從 PancakeSwap Pair中轉出350018.558642186154111639 SATX來平衡資金,但是卻多轉了一倍的SATX 。

通過檢視SATX Token合約的代碼,我們可以看到transfer中的這段代碼。首先,将amount轉給了_tokenOwner,

零時科技 || SATX攻擊事件分析

接下來,将amount的2.99%轉給了SATX Token合約,将amout的97.01%除以1000000的10%,9%和8.3%分别轉給了三個EOA。

零時科技 || SATX攻擊事件分析
零時科技 || SATX攻擊事件分析

相當于額外轉出了約一倍的SATX ,導緻PancakeSwap Pair WBNB-SATX中的SATX 驟減,由于PancakeSwapV2使用的CPMM作為AMM算法,是以相當于SATX的價值飙升。

執行skim前,1 WBNB=13844 SATX,執行 skim後,1 WBNB=33 SATX。導緻SATX價值飙升600多倍。

零時科技 || SATX攻擊事件分析

随後,攻擊者就用手中的SATX通過swap兌換為WBNB。通過此次攻擊,攻擊者共獲利約50BNB。

繼續閱讀