首页 > 观点 > 正文
欧意交易所

欧意交易所

全球前三大交易所之一,新用户注册最高可得230USDT奖励,同时可拆数字盲盒,100%可以获得数字货币,最高价值60000元

点击注册 进入官网

Sd7di7VI9xypwunXDfeQ5iPQdDkCUp9WtzNaMCgt.jpeg

事件背景

零时科技区块链安全情报平台监控到消息,北京时间2023年3月14日,ETH链上Euler Finance受到黑客攻击,攻击者获利约1.97亿美元,攻击者地址为0xb66cd966670d962c227b3eaba30a872dbfb995db,被盗资金100ETH转移至混币平台Tornado.Cash,其余资金仍在攻击者地址暂未移动。零时科技安全团队及时对此安全事件进行分析。

漏洞及核心

合约中有关代币余额修改的函数中存在检查清算的功能,在执行代币转移后检查抵押资产与借出资金,要求抵押资产大于借出资金。

VYyw36Hei54rl1jghObGlKxLas3xDk3nZ4eYXSZx.png

XRVsEt4WfBVrKD9Ye50DJSA6LUPfn6IkFz5fPkCQ.png

由于函数donateToReserves中缺少检查清算逻辑,攻击者可以通过此函数将借款调整为清算状态。

ggm1kgxXRE8lmaNnnFKoNbxekgWrtmin5FMmEyjF.png

攻击者构造出两个攻击合约,其中一个合约执行借款操作,另一个合约执行清算操作。

借款合约通过闪电贷借出30,000,000 DAI,之后将20,000,000 DAI存入Euler中获得19,568,124 eDAI,之后调用mint函数借出200,000,000 dDAI和195,681,243eDAI,将资产放大10倍。

dR7CqGd3yRr2sLo1LAvDhbgZsP0UpVTiJxBfD2Gl.png

之后攻击者调用repay函数继续进行质押,将剩余10,000,000 DAI进行质押并销毁10,000,000 eDAI,之后继续调用mint函数借出200,000,000 dDAI和195,681,243eDAI,此时攻击者共有400,000,000 dDAI和400,930,610 eDAI。

攻击者调用合约中donateToReserves函数进行转账,将100,000,000 eDAI转移至0地址。

Qxkj5vGIKZjKQHMIW1pA96fBeAFeIsPD4vAHTY3W.png

此时攻击者地址共有400,000,000 dDAI和300,930,610 eDAI,已经达到清算条件,由于此函数中缺少清算判断,未能执行清算。

清算合约调用清算函数执行清算操作,共获得310,930,612 eDAI 和 254,234,370dDAI

EQFi0OYrcGCvg6bmWrCyICDDJez8B9nsQpKX3YXW.png

4GHGIhW0t4JJETDf4GYAQdtFwbEeYZWaySwa9OgT.png

之后攻击者调用withdraw函数将池子中DAI全部取出。

2QNZelzDDDJSCIAHPGbbZw3SMACmwXgEMZjxMtre.png

此笔交易中攻击者共获利8,877,507 DAI

总结及建议

此次攻击是由于EToken合约中donateToReserves函数缺失清算检查逻辑,攻击者能够恶意将借贷的资金处于清算状态下而不触发清算,使得攻击者能够无需向合约转移清算资金而触发清算从而获利。

安全建议

  • 建议对合约中相关函数添加清算检查操作

  • 建议项目方上线前进行多次审计,避免出现审计步骤缺失

白话区块链|同步全球区块链资讯、区块链快讯、区块链新闻
本站所有文章数据来源:金色财经
本站不对内容真实性负责,如需转载请联系原作者
如需删除该文章,请发送本文链接至oem1012@qq.com

更多交易所入口

一站式注册各大交易所、点击进入加密世界、永不失联,币安Binance/欧易OKX/GATE.IO芝麻开门/Bitget/抹茶MEXC/火币Huobi

点击进入 永不失联
picture loss