Bogged Finance 攻击事件分析

创宇区块链安全实验室
创宇区块链安全实验室 机构得得号

May 25, 2021 专注构建区块链安全生态,致力于让人类进入安全的区块链世界。

摘要: 5 月 22 日晚 Bogged Finance 项目遭遇闪电贷攻击,随后 BOG 代币价格断崖式下跌,实验室第一时间跟进分析本次安全事件。

据官方 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 安全问题也越来越需要被重视。

作者:创宇区块链安全实验室;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请发送至邮箱:linggeqi@chaindd.com

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

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

分享到:

相关推荐

    评论(0

    Oh! no

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

    分享到微信