freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

SharkTeam:BNO攻击事件原理分析
2023-07-18 17:32:21
所属地 江苏省

北京时间2023年7月18日,Ocean BNO遭受闪电贷攻击,攻击者已获利约50万美元。

20230718161919783image.png

SharkTeam对此事件第一时间进行了技术分析,并总结了安全防范手段,希望后续项目可以引以为戒,共筑区块链行业的安全防线。

一、 事件分析

攻击者地址:

0xa6566574edc60d7b2adbacedb71d5142cf2677fb

攻击合约:

0xd138b9a58d3e5f4be1cd5ec90b66310e241c13cd

被攻击合约:

0xdCA503449899d5649D32175a255A8835A03E4006

攻击交易:

0x33fed54de490797b99b2fc7a159e43af57e9e6bdefc2c2d052dc814cfe0096b9

攻击流程:

(1)攻击者(0xa6566574)通过pancakeSwap闪电贷借取286449 枚BNO。

20230718161449018image.png

(2)随后调用被攻击合约(0xdCA50344)的stakeNft函数质押两个nft。

20230718161457306image.png

(3)接着调用被攻击合约(0xdCA50344)的pledge函数质押277856枚BNO币。

20230718161633397image.png

(4)调用被攻击合约(0xdCA50344)的emergencyWithdraw函数提取回全部的BNO

20230718161641122image.png

(5)然后调用被攻击合约(0xdCA50344)的unstakeNft函数,取回两个质押的nft并收到额外的BNO代币。

20230718161732948image.png

(6)循环上述过程,持续获得额外的BNO代币

20230718161752651image.png

(7)最后归还闪电贷后将所有的BNO代币换成50.5W个BUSD后获利离场。

20230718161800166image.png

二、漏洞分析

本次攻击的根本原因是:被攻击合约(0xdCA50344)中的奖励计算机制和紧急提取函数的交互逻辑出现问题,导致用户在提取本金后可以得到一笔额外的奖励代币。

20230718161812689image.png

20230718161820027image.png

合约提供emergencyWithdraw函数用于紧急提取代币,并清除了攻击者的allstake总抵押量和rewardDebt总债务量,但并没有清除攻击者的nftAddtion变量,而nftAddition变量也是通过allstake变量计算得到。

20230718161834850image.png

而在unstakeNft函数中仍然会计算出用户当前奖励,而在nftAddition变量没有被归零的情况下,pendingFit函数仍然会返回一个额外的BNO奖励值,导致攻击者获得额外的BNO代币。

20230718161842539image.png

三、安全建议

针对本次攻击事件,我们在开发过程中应遵循以下注意事项:

(1)在进行奖励计算时,校验用户是否提取本金。

(2)项目上线前,需要向第三方专业的审计团队寻求技术帮助。

About Us

SharkTeam的愿景是全面保护Web3世界的安全。团队由来自世界各地的经验丰富的安全专业人士和高级研究人员组成,精通区块链和智能合约的底层理论,提供包括智能合约审计、链上分析、应急响应等服务。已与区块链生态系统各个领域的关键参与者,如Polkadot、Moonbeam、polygon、OKC、Huobi Global、imToken、ChainIDE等建立长期合作关系。

官网:https://www.sharkteam.org

Twitter:https://twitter.com/sharkteamorg

Discord:https://discord.gg/jGH9xXCjDZ

Telegram:https://t.me/sharkteamorg

# 区块链 # 区块链安全 # 区块链技术 # 区块链应用
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者