时间:2023-06-13|浏览:188
根据交易记录显示,攻击者利用主攻击合约C1(0x632942c9BeF1a1127353E1b99e817651e2390CFF)对应ola.finance系列合约进行攻击。
跟踪其主要调用过程和代码,发现ola.finance项目核心凭证代币使用了ERC677模块。如果转账的目标地址是合约,则会调用目标地址的Fallback函数,这便成为本次攻击点的切入点。
攻击者利用C1合约创建攻击合约C2(0xBcc8a610bd35C2981025Fe32a5aDc2FB9b6b3B01),并利用闪电贷借出515个WETH,然后将这部分WETH发送至C2合约。接着,C2合约利用步骤1获得的515WETH发送至合约ola_oWETH(0x139Eb08579eec664d461f0B754c1F8B569044611)进行质押,以换取25,528.022oWETH。
C2再利用25,528.022oWETH向ola_oWBTC合约(0x3882bA8bD0E8AbAf56F86e6744b103dAB6a9ba4C)借出20个WBTC,并在转账时利用ERC677的转账函数进行重入,将属于自己的25,528.022oWETH和20WBTC转账至C1。
C1合约利用步骤3获取到的25,528.022oWETH在ola_oWETH合约上进行赎回,获取514.99WETH。接下来,C1再次创建C3合约(0x1B1d76C9AFd990080b950894E9f6230b151D0dE7),并将步骤3中获取到的20WBTC发送至C3合约。
C3合约重复步骤2、3的操作,利用20WBTC进行质押,并在borrow时再次利用重入获得100个WETH。最终完成攻击,归还闪电贷516.648WETH(共获利98WETH和19.99WBTC)。
值得一提的是,前面所述流程是本次事件的首次攻击,并借助了闪电贷作为基础资金,而后续则是以本次获利后的资金作为基础资金,反复执行上述2-3步骤进行多次攻击,最终获利约为467万美金。
对此,成都链安团队建议:
用戶喜愛的交易所
已有账号登陆后会弹出下载