据消息,去中心化交易平台DODO的wCRES/USDTV2资金池被黑客攻击,转走价值近98万美元的wCRES和近114万美元的USDT。DODO表示,团队已下线相关资金池建池入口,该攻击仅影响DODOV2众筹池,除V2众筹池之外,其他资金池均安全;团队正在与安全公司合作调查,并努力挽回部分资金。更多后续消息请关注DODO官方社群公告。
慢雾安全团队在第一时间跟进并分析,下面将细节分析给大家参考。
攻击细节分析
通过查看本次攻击交易,我们可以发现整个攻击过程非常简单。攻击者先将FDO和FUSDT转入wCRES/USDT资金池中,然后通过资金池合约的flashLoan函数借出wCRES和USDT代币,并对资金池合约进行初始化操作。
为何存入FDO和FUSDT代币却能成功借出wCRES和USDT,并且初始化资金池合约呢?是因为资金池的闪电贷功能有漏洞吗?
接下来我们对flashLoan函数进行详细分析:
通过分析具体代码我们可以发现,在进行闪电贷时会先通过_transferBaseOut和_transferQuoteOut函数将资金转出,然后通过DVMFlashLoanCall函数进行具体外部逻辑调用,最后再对合约的资金进行检查。可以发现这是正常闪电贷功能,那么问题只能出在闪电贷时对外部逻辑的执行上。
通过分析闪电贷的外部逻辑调用,可以发现攻击者调用了wCRES/USDT资金池合约的init函数,并传入了FDO地址和FUSDT地址对资金池合约进行了初始化操作。
到这里我们就可以发现资金池合约居然可以被重新初始化。为了一探究竟,接下来我们对初始化函数进行具体的分析:
通过具体的代码我们可以发现,资金池合约的初始化函数并没有任何鉴权以及防止重复调用初始化的逻辑,这将导致任何人都可以对资金池合约的初始化函数进行调用并重新初始化合约。至此,我们可以得出本次攻击的完整攻击流程。
攻击流程
1、攻击者先创建FDO和FUSDT两个代币合约,然后向wCRES/USDT资金池存入FDO和FUSDT代币。
2、接下来攻击者调用wCRES/USDT资金池合约的flashLoan函数进行闪电贷,借出资金池中的wCRES与USDT代币。
3、由于wCRES/USDT资金池合约的init函数没有任何鉴权以及防止重复调用初始化的逻辑,攻击者通过闪电贷的外部逻辑执行功能调用了wCRES/USDT资金池合约的初始化函数,将资金池合约的代币对由wCRES/USDT替换为FDO/FUSDT。
4、由于资金池代币对被替换为FDO/FUSDT且攻击者在攻击开始时就将FDO和FUSDT代币存入了资金池合约,因最终通过了闪电贷资金归还的余额检查而获利。
总结
本次攻击发生的主要原因在于资金池合约初始化函数没有任何鉴权以及防止重复调用初始化的限制,导致攻击者利用闪电贷将真币借出,然后通过重新对合约初始化将资金池代币对替换为攻击者创建的假币,从而绕过闪电贷资金归还检查将真币收入囊中。
参考攻击交易:
https://cn.etherscan.com/tx/0x395675b56370a9f5fe8b32badfa80043f5291443bd6c8273900476880fb5221e
往期回顾
铸币疑云——PaidNetwork被盗细节分析
慢雾招募令:寻区块链安全弄潮儿
可避天灾,难免人祸——Furucombo被黑分析
王者开局偶遇猪队友——简析AlphaFinance&Cream被黑
BitMart入驻慢雾区,发布「安全漏洞与威胁情报赏金计划」
慢雾导航
慢雾科技官网
https://www.slowmist.com/
慢雾区官网
https://slowmist.io/
慢雾GitHub
https://github.com/slowmist
Telegram
https://t.me/slowmistteam
https://twitter.com/@slowmist_team
Medium
https://medium.com/@slowmist
币乎
https://bihu.com/people/586104
知识星球
https://t.zsxq.com/Q3zNvvF
火星号
http://t.cn/AiRkv4Gz
链闻号
https://www.chainnews.com/u/958260692213.htm
免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。
本文来源于非小号媒体平台:
慢雾科技
现已在非小号资讯平台发布68篇作品,
非小号开放平台欢迎币圈作者入驻
入驻指南:
/apply_guide/
本文网址:
/news/9754467.html
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场
上一篇:
盘点零知识证明代表性项目:如何影响和塑造区块链生态系统?
摘要: 以太坊“柏林”硬分叉升级已经做好部署准备。我们这次升级的进展会非常迅速:第一个进行升级的测试网Ropsten计划于3月10日进行升级。主网升级计划于4月14日发布.
隔夜走高将看到当地高点54,500美元,新希望支撑位现在将集中在50,000美元。 市场动态 比特币于3月9日隔夜突破了关键的52,000美元阻力位,至历史最高纪录的6%以内.
这个周末其实发生的事情蛮多的,咱们逐个逐个来聊聊吧,也不说别的东西,就一个个分析下,按照时间线路来撩。老美开闸放水1.9万亿美元,已然通过.
推特上有这么一条推文。 #如何翻倍你的以太坊价值#推文里包含了从1倍到10倍的不同投资选择。 1倍:现货。 1.1倍:ETH抵押。 2-4倍:ETH期货和DeFi蓝筹股.
尊敬的用户: CoinBene将上线ALICE/USDT币币交易,邀您体验。ALICE充值时间:待定ALICE交易时间:2021年3月10日15:00ALICE提币时间:待定 项目名称:ALIC.
亲爱的BitMax用户:Akash(AKT)主网2即将上线,它将是世界上第一个具有点对点市场的去中心化非托管云,同时具有很强的互操作性.