ABU:Zabu Finance 闪电贷安全事件分析 -ODAILY_ADABULL币

前言

9月12日,知道创宇区块链安全实验室监测到Avalanche上的DeFi协议ZabuFinance项目遭受闪电贷攻击。实验室第一时间跟踪本次事件并分析。

涉及对象

攻击合约

攻击合约1:

0x0e65Fb2c02C72E9a2e32Cc42837df7E46219F400

攻击合约2:

阿迪达斯将于3月25日在德国柏林举办Into the Metaverse活动:3月7日消息,阿迪达斯推出的NFT项目Indigo Herz发推透露,阿迪达斯将于3月25日在德国柏林举办Into the Metaverse(ITM)活动。ITM NFT持有者可以从美东时间3月8日下午1点开始领取免费门票,参与ITM 第1阶段和第2阶段的NFT持有者能够通过Tokenproof领取门票。[2023/3/7 12:46:56]

0x5c9AD7b877F06e751Ee006A3F27546757BBE53Dd

漏洞合约

阿迪达斯与英格兰克劳利镇足球俱乐部合作的NFT项目“WAGMI United”已募集超300万英镑:金色财经报道,据英国太阳报消息,阿迪达斯与英格兰克劳利镇足球俱乐部合作的NFT项目“WAGMI United”在当地时间本周五(7月8日)推出后短短几个小时便募集了超过300万英镑,该 NFT 允许持有者获得会员权利和其他福利,包括对俱乐部决策、商品、独家体验和数字内容的投票权。此外,该项目还表示将会把筹集的所有资金重新投资于改善克劳利镇足球俱乐部的布罗德菲尔德体育场。[2022/7/10 2:03:06]

ZABUFarm:

0xf61b4f980a1f34b55bbf3b2ef28213efcc6248c4

阿迪达斯将与英格兰克劳利镇足球俱乐部合作发行NFT:金色财经报道,阿迪达斯宣布与今年初收购英格兰克劳利镇足球俱乐部的美国加密货币投资者集团 Wagmi United 达成合作,并将为该球队创建 NFT,球迷可以收集这些 NFT 来从阿迪达斯获得实体和数字商品。克劳利镇足球俱乐部首批 NFT 将于 7 月 6 日首发,该系列与阿迪达斯合作设计和生产,NFT 持有者将能对克劳利镇俱乐部面临的关键问题和未来发展进行投票。(sporttechie)[2022/7/1 1:43:14]

SPORE:

0x6e7f5c0b9f4432716bdd0a77a3601291b9d9e985

耐克、阿迪达斯和百事可乐三大品牌NFT单周交易总额超过2亿美元:金色财经报道,据相关数据显示,耐克的 RTFKT 系列 CloneX 上周产生了超过 1.31 亿美元的交易量,平均销售价格约为 30960 美元;CloneX Mintvials产生了超过 3800 万美元的交易量。此外,阿迪达斯与 Bored Ape Yacht Club、NFT 收藏家 Gmoney 和 PUNKS Comics NFT 系列合作推出了 30000 个 NFT,自12月17日推出以来,上周产生了超过4400万美元的交易量。还有百事可乐的 Mic Drop NFT系列,自 12 月 14 日推出以来,上周产生了超过 600 万美元的交易量。总体来看,耐克、阿迪达斯和百事可乐三大品牌的NFT单周交易总额已超过2亿美元。[2021/12/27 8:06:37]

漏洞成因分析

漏洞产生原因在于Defi协议与代币协议之间的不兼容,其不兼容主要是zabuFarm合约质押功能与spore合约转账功能出现冲突,下面从双方功能实现逻辑来分析冲突。

zabuFarm合约质押功能

zabuFarm合约质押功能由函数deposit实现

简述deposit函数实现逻辑:

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

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

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

4.更新用户添加的代币以及最新奖励状态5.触发质押事件。

spore合约转账功能

spore合约转账功能由函数_transferStandard实现(ps:_transferStandard函数是zabuFarm合约质押功能转账时调用的函数)

简述_transferStandard函数实现逻辑:

1.由传参tAmount通过_getValues函数获取五个值,分别是rAmount实际转账数量,rTransferAmount收费后转账数量,rFee实际费用,tTransferAmount初始转账数量,tFee初始费用

2.对相应账户进行实际转账代币数量更新

3.通过_reflectFee函数进行费用记录更新

由此我们可以发现\nzabuFarm合约质押功能与spore合约转账功能出现冲突的本质在于deposit函数仅是对用户传入转账金额_amount\n做用户账户更新记录,而不是对_transferStandard\n函数在收取费用后实际转账做用户账户更新记录,导致实际收款小于账户记录,俗称亏本买卖。

简述攻击过程

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

2.通过攻击合约2\n0x5c9A从Pangolin闪电贷借出SPORE代币,并利用SPORE代币不断在ZABUFarm\n合约进行质押-提现的操作,消耗原本属于ZABUFarm合约的SPORE代币,由于ZABUFarm合约是通过SPORE\n代币总量计算奖励,攻击合约10x0e65会获得巨额ZABU代币奖励;

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

总结

此次攻击属于defi协议与代币协议之间不兼容导致的,迄今为止此类攻击事件已发生数次,知道创宇区块链安全实验室再次提醒,近期各链上频频爆发攻击事件,合约安全愈发需要得到迫切重视,合约审计、风控措施、应急计划等都有必要切实落实。

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

大币网

[0:15ms0-4:758ms