Zabu Finance闪电贷安全事件剖析

时间:2021-09-17 11:00编辑:未知

攻击合约2:

ZABUFarm:

前言

9月12日,知晓创宇区块链安全实验室 监测到 Avalanche 上的 去中心化的金融 协议  Zabu Finance 项目遭受闪电贷攻击。实验室第一时间跟踪本次事件并剖析。

0x0e65Fb2c02C72E9a2e32Cc42837df7E46219F400

0x6e7f5c0b9f4432716bdd0a77a3601291b9d9e985

概要

此次攻击是 defi 协议与代币协议之间不兼容致使的,迄今为止此类攻击事件已发生数次,知晓创宇区块链安全实验室第三提醒,最近各链上频频爆发攻击事件,合约安全愈发需要得到迫切看重,合约审计、风控手段、应对计划等都有必要切实落实。

漏洞成因剖析

漏洞产生缘由在于 Defi 协议与代币协议之间的不兼容,其不兼容主如果 zabuFarm 合约质押功能与 spore 合约转账功能出现冲突,下面从双方功能达成逻辑来剖析冲突。

简述 deh3osit 函数达成逻辑:

1.由传参_pid 获得对应矿池信息与用户信息

2.更新_pid 对应矿池信息,当用户竞价推广账户不为 0 向用户发送质押已产生奖励

3.将传参_amount 数目的代币从函数调用者转移到该合约

4.更新用户添加的代币与最新奖励状况

简述攻击过程

1.借助攻击合约1 0x0e65,将 WAVAX 代币通过 Pangolin 置换成 SPORE 代币,并质押到 ZABUFarm 合约中;

2.通过攻击合约2 0x5c9A 从 Pangolin 闪电贷借出 SPORE 代币,并借助 SPORE 代币不断在 ZABUFarm 合约进行质押-提现的操作,消耗原本是ZABUFarm 合约的SPORE 代币,因为 ZABUFarm 合约是通过 SPORE 代币总量计算奖励,攻击合约1 0x0e65 会获得巨额 ZABU 代币奖励;

3.最后取出质押 SPORE 代币,归还闪电贷,抛售 ZABU 代币获利。

0x5c9AD7b877F06e751Ee006A3F27546757BBE53Dd

sh3ore合约转账功能

spore 合约转账功能由函数_transferStandard 达成

简述_transferStandard 函数达成逻辑:

1.由传参 tAmount 通过_getValues 函数获得五个值,分别是 rAmount 实质转账数目, rTransferAmount 收费后转账数目, rFee 实质成本,tTransferAmount 初始转账数目,tFee 初始成本

2.对相应竞价推广账户进行实质转账代币数目更新

3.通过_reflectFee 函数进行成本记录更新

由此大家可以发现 zabuFarm 合约质押功能与 spore 合约转账功能出现冲突的本质在于 deposit 函数只是对用户传入转账金额_amount 做用户竞价推广账户更新记录,而不是对_transferStandard 函数在收取成本后实质转账做用户竞价推广账户更新记录,致使实质收款小于竞价推广账户记录,俗称亏本交易。

攻击合约1

涉及对象

SPORE:

0xf61b4f980a1f34b55bbf3b2ef28213efcc6248c4

攻击合约

5.触发质押事件

zabuFarm合约质押功能

zabuFarm 合约质押功能由函数 deposit 达成

查询更多
本文标签: DeFi安全 ZabuFinance

上一篇:LTC惊魂一夜 币圈黑手戏耍了所有人

下一篇:没有了