ORN:慢雾:DFX Finance 遭攻击,因 Curve 合约闪电贷函数未做重入保护

据慢雾安全团队情报,ETH链上的DFXFinance项目遭到攻击,攻击者获利约231,138美元。慢雾安全团队以简讯形式分享如下:

1.攻击者首先调用了名为Curve的合约中的viewDeposit函数来查看合约中的存款情况,之后根据返回的存款情况来构造合适的闪电贷需要借出的钱

慢雾:利用者通过执行恶意提案控制了Tornado.Cash的治理:金色财经报道,SlowMist发布Tornado.Cash治理漏洞解析。 5月20日,Tornado.Cash遭受了治理攻击,利用者通过执行恶意提案控制了Tornado.Cash的治理。5月13日,利用者发起了20提案,并在提案中说明20提案是对16提案的补充,具有相同的执行逻辑。但实际上,提案合约多了一个自毁逻辑,其创建者是通过create2创建的,具有自毁功能,所以在与提案合约自毁后,利用者仍可以部署不同的以与以前相同的方式将字节码发送到相同的地址。不幸的是,社区没有看到拟议合约中的犯规行为,许多用户投票支持该提案。

在5月18日,利用者通过创建具有多个交易的新地址,反复将0代币锁定在治理中。利用提案合约可以销毁并重新部署新逻辑的特性,利用者在5月20日7:18(UTC)销毁了提案执行合约,并在同一地址部署了一个恶意合约,其逻辑是修改用户在治理中锁定的代币数量。

攻击者修改完提案合约后,于5月20日7:25(UTC)执行恶意提案合约。该提案的执行是通过 Delegatecall 执行的,因此,该提案的执行导致治理合约中由开发者控制的地址的代币锁定量被修改为 10,000。提案执行完成后,攻击者从治理库中解锁了TORN代币。金库中的TORN代币储备已经耗尽,同时利用者控制了治理。[2023/5/21 15:17:00]

2.紧接着继续Curve合约的flash函数进行闪电贷,因为该函数未做重入锁保护,导致攻击者利用闪电贷中的flashCallback函数回调了合约的deposit函数进行存款

慢雾:攻击Ronin Network的黑客地址向火币转入3750枚 ETH:3月30日消息,慢雾发推称,攻击Axie Infinity侧链Ronin Network的黑客地址向交易所火币转入3750枚ETH。此前金色财经报道,Ronin桥被攻击,17.36万枚ETH和2550万USDC被盗。[2022/3/30 14:26:38]

3.存款函数外部调用了ProportionalLiquidity合约的proportionalDeposit函数,在该函数中会将第二步中借来的资金转移回Curve合约里,并且为攻击合约进行存款的记账,并且为攻击合约铸造存款凭证

慢雾: 警惕比特币RBF风险:据BitMEX消息,比特币于区块高度666833出现陈腐区块,并产生了一笔 0.00062063 BTC 的双花交易。根据 BitMEX提供的交易内容来看,双花的两笔交易的nSequence字段的值都小于0xffffffff -1。慢雾安全团队初步认为此次双花交易有可能是比特币中的RBF交易。[2021/1/20 16:38:01]

4.由于利用重入了存款函数来将资金转移回Curve合约中,使得成功通过了闪电贷还款的余额检查

5.最后调用withdraw函数进行取款,取款时会根据第三步存款时对攻击合约记账燃烧掉存款凭证,并以此成功取出约2,283,092,402枚的XIDR代币和99,866枚USDC代币获利

此次攻击的主要原因在于Curve合约闪电贷函数并未做重入保护,导致攻击重入了存款函数进行转账代币来通过闪电贷还款的余额判断,由于存款时有记账所以攻击者可以成功提款获利。

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

地球链

[0:31ms0-0:815ms