狸猫换太子?慢雾拆解DODO被黑细节_USD:USDT

据消息,去中心化交易平台DODO的wCRES/USDTV2资金池被黑客攻击,转走价值近98万美元的wCRES和近114万美元的USDT。DODO表示,团队已下线相关资金池建池入口,该攻击仅影响DODOV2众筹池,除V2众筹池之外,其他资金池均安全;团队正在与安全公司合作调查,并努力挽回部分资金。更多后续消息请关注DODO官方社群公告。慢雾安全团队在第一时间跟进并分析,下面将细节分析给大家参考。攻击细节分析

报告:到2028年全球NFT市场规模将达到76.36亿美元,年复合增长率为22.1%:11月8日消息,Proficient Market Insights发布最新的NFT市场报告显示,预计到2028年,全球NFT市场规模将从2021年的15.9亿美元增长达到76.36亿美元,2022-2028年的年复合增长率为22.1%。

全球NFT市场的主要参与者包括Larva Labs、OpenSea、Sky Mavis等,排名前三的公司市场份额超过55%。北美是最大的市场,市场份额约为32%,其次是亚太和欧洲,市场份额分别为30%和27%。就产品而言,艺术品和收藏品是最大的部分,约占70%。在应用方面,应用最多的是一级市场,其次是二级市场。(globenewswire)[2022/11/8 12:32:20]

通过查看本次攻击交易,我们可以发现整个攻击过程非常短。攻击者先将FDO和FUSDT转入wCRES/USDT资金池中,然后通过资金池合约的flashLoan函数借出wCRES和USDT代币,并对资金池合约进行初始化操作。

分析 | TokenInsight:BTC人气冲高后快速回落,新人增量创近3月新低:据TokenInsight数据显示,反映区块链行业整体表现的TI指数北京时间12月15日8时报530.9点,较昨日同期下跌9.85点,跌幅为1.82%。此外,在TokenInsight密切关注的10大行业中,24小时内涨幅最高的为其它行业,涨幅为2.75%;24小时内跌幅最高的为娱乐与游戏行业,跌幅为5.22%。

据监测显示,BTC 24h成交额为$167亿, 活跃地址数较前日下降10.46%,转账数较前日下降4.43%。Coinwalle分析师Jeffrey认为,BTC人气冲高后快速回落,新人增量创近3月新低,短期或将延续调整。注:以上内容仅供参考,不构成投资建议[2019/12/15]

分析 | TokenInsight:BTC多头占比持续上升 但流量暂无起色:据TokenInsight数据显示,反映区块链行业整体表现的TI指数北京时间12月30日8时报365.04点,较昨日同期下跌8.13点,跌幅为2.18%。此外,在TokenInsight密切关注的28个细分行业中,24小时内涨幅最高的为医疗应用行业,涨幅为1.66%;24小时内跌幅最高的为金融平台行业,跌幅为6.56%。

另据监测显示,BTC全球交易额较前日下降3.9%,全网活跃地址数较上周同期下降14.65%,至46.95万。目前全球期货多空比1.33,多头上升5.8%。BCtrend分析师Jeffrey认为,BTC多头占比持续上升,但流量暂无起色,存量市场中追高情绪浓,或将延续回调行情。[2018/12/30]

为何存入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

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:15ms0-2:819ms