知道创宇区块链实验室 | Bogged Finance 攻击事件分析

 

创宇区块链安全实验室 水手 2021-05-24 14:12:31 发布在 区块链社区

3352 0

据官方 tg 群消息,北京时间 5 月 22 日晚 Bogged Finance 项目遭遇闪电贷攻击,随后 BOG 代币价格断崖式下跌。知道创宇区块链安全实验室 第一时间跟进分析本次安全事件。

以造成本次闪电贷攻击的其中一笔交易为例,对应具体交易 hash 如下:0x47a355743456714d9abc23e1dff9e26430e38e84cc8b8e0a0b4ca475918f3475

黑客地址 0x4622A1f3d05DcF5A0589c458136C231009B6A207 通过攻击合约 0xe576790f35A8cC854d45b9079259Fe84F5294e07 进行闪电贷攻击,通过调用攻击合约中攻击函数,传入参数 15000000000000000000000,通过 BankController(implementlogic)合约进行闪电借贷15000BNB,通过 WBNB 合约兑换后开始进行套利攻击。

本次闪电贷攻击主要原因是由于 Bogged Finance 合约中 _transferFrom 函数中利用 _txBurn 函数出现逻辑漏洞,代币合约对所有交易应当收取 5% 的交易额作为交易费用来销毁,其中 4% 分红给 lp 提供者,1% 被烧毁,但在 _transferFrom 函数中未校验转账地址,允许向自己转账,在自我转账的过程中,仅扣除1%手续费,而包括攻击者在内的 lp 提供者获得4%的分红奖励,所以攻击者可以通过添加大量流动性进行流动性挖矿,并且反复自我转账获利,最终移除流动性从而完成攻击过程。

通过查看浏览器交易显示,攻击者在该笔交易中分4次将1298.20BNB、1489.05BNB、1707.95BNB、1959.03BNB在 PancakeSwap 中兑换为47770BOG,并用共计8434.07BNB和281174.22BOG在 PancakeSwap 的 BNB-BOG 池中添加流动性

如下图所示,攻击者在该笔交易中通过以下5笔交易将如下所示数量的 WBNB 与 BOG 添加流动性并将所获得的流动性代币进行抵押挖矿。

图1添加流动性并进行你抵押挖矿为多次转账准备

随后,攻击者通过攻击合约多次进行自我转账,进行获利。

图2反复自我转账

最后,攻击者通过 Nerve(Angswap)跨链桥将它们分批次转换为 ETH 进行套现后移除流动性,返还闪电贷完成本次攻击。

图3移除流动性

图4返还闪电贷

在攻击发生后,项目社区内疑似管理员身份发布了相关通知,且现合约中已关停相关手续费收取功能,对应的 _burnRate 被设置为 0,不存在套利空间。

图5社群通知

图6关闭手续费收取功能

最近 BSC 链上接连发生闪电贷攻击事件,随着链上 DeFi 生态的飞速发展,攻击事件频频爆发。高级复杂的闪电贷攻击手法,已经在以太坊生态中上演过很多次。可见,随着其他链上 DeFi 生态的发展,攻击者已逐渐将攻击目标扩大到其他链的 DeFi 生态,DeFi 安全问题也越来越需要被重视。

时光素材-香车美女  (1460)blockchainBTC比特币区块链www.qkl91.com

发表评论

邮箱地址不会被公开。 必填项已用*标注