慢雾:Zabu Finance 被黑简析

链得得
链得得

Sep 12, 2021 链得得官方账号

摘要: 2021 年 9 月 12 日,Avalanche 上 Zabu Finance 项目遭受闪电贷攻击,慢雾安全团队进行分析后以简讯的形式分享给大家。

据慢雾区情报,2021 年 9 月 12 日,Avalanche 上 Zabu Finance 项目遭受闪电贷攻击,慢雾安全团队进行分析后以简讯的形式分享给大家。

1. 攻击者首先创建两个攻击合约,随后通过攻击合约 1 在 Pangolin 将 WAVAX 兑换成 SPORE 代币,并将获得的 SPORE 代币抵押至 ZABUFarm 合约中,为后续获取 ZABU 代币奖励做准备。

2. 攻击者通过攻击合约 2 从 Pangolin 闪电贷借出 SPORE 代币,随后开始不断的使用 SPORE 代币在 ZABUFarm 合约中进行`抵押/提现`操作。由于 SPORE 代币在转账过程中需要收取一定的手续费 (SPORE 合约收取),而 ZABUFarm 合约实际接收到的 SPORE 代币数量是小于攻击者传入的抵押数量的。分析中我们注意到 ZABUFarm 合约在用户抵押时会直接记录用户传入的抵押数量,而不是记录合约实际收到的代币数量,但 ZABUFarm 合约在用户提现时允许用户全部提取用户抵押时合约记录的抵押数量。这就导致了攻击者在抵押时 ZABUFarm 合约实际接收到的 SPORE 代币数量小于攻击者在提现时 ZABUFarm 合约转出给攻击者的代币数量。

3. 攻击者正是利用了 ZABUFarm 合约与 SPORE 代币兼容性问题导致的记账缺陷,从而不断通过`抵押/提现`操作将 ZABUFarm 合约中的 SPORE 资金消耗至一个极低的数值。而 ZABUFarm 合约的抵押奖励正是通过累积的区块奖励除合约中抵押的 SPORE 代币总量参与计算的,因此当 ZABUFarm 合约中的 SPORE 代币总量降低到一个极低的数值时无疑会计算出一个极大的奖励数值。

4. 攻击者通过先前已在 ZABUFarm 中有进行抵押的攻击合约 1 获取了大量的 ZABU 代币奖励,随后便对 ZABU 代币进行了抛售。

此次攻击是由于 Zabu Finance 的抵押模型与 SPORE 代币不兼容导致的,此类问题导致的攻击已经发生的多起,慢雾安全团队建议:项目抵押模型在对接通缩型代币时应记录用户在转账前后合约实际的代币变化,而不是依赖于用户传入的抵押代币数量。

参考:
攻击合约 1:0x0e65Fb2c02C72E9a2e32Cc42837df7E46219F400
攻击合约 2:0x5c9AD7b877F06e751Ee006A3F27546757BBE53Dd
抵押交易:0xf76b37ed46c218d4b791e9769b139c3e1f43d1888f37ff0a647c7a8bb58528fb
攻击交易:0x0d65ce5c7a0c072b14ec5da08488d07778f334a7ddb6b7a30df97f274f3e1eb3
获利交易:0x8b3042e55a63f39bb388240a089cf4d51e59abe7cb0bff303c6dbb19eaeb75ac

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 链得得 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信