NFT:SharkTeam:BNO攻击事件原理分析

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

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

攻击者地址:

0xa6566574edc60d7b2adbacedb71d5142cf2677fb

攻击合约:

0xd138b9a58d3e5f4be1cd5ec90b66310e241c13cd

以太坊已完成Shapella升级:金色财经报道,以太坊Shapella升级已在Epoch 194048时完成。数据显示,当前估计所有验证者在信标链上可提取的奖励为1,125,330ETH。当前累计质押量约1815万枚ETH,质押率15.07%。

此前2022年9月,以太坊成功过渡到权益证明 (PoS) 共识机制,质押32个ETH即可成为验证者。此次Shapella升级增加了取款功能,用户可提取质押的ETH及相关收益。[2023/4/13 14:00:13]

被攻击合约:

0xdCA503449899d5649D32175a255A8835A03E4006

攻击交易:

0x33fed54de490797b99b2fc7a159e43af57e9e6bdefc2c2d052dc814cfe0096b9

加密银行平台Cashaa将推出2000万美元规模的Web3基金:6月5日消息,印度加密银行平台Cashaa将推出2000万美元规模的风投基金,计划投资20到50家Web 3初创企业和项目,涉及元宇宙、NFT等领域。(Business Line)[2022/6/5 4:03:51]

攻击流程:

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

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

CoinShares:上周数字资产投资产品净流入8700万美元:5月30日消息,据CoinShares报告显示,上周数字资产投资产品净流入8700万美元,其中比特币投资产品净流入6940万美元,以太坊投资产品净流出1160万美元。此外,Algorand投资产品创纪录地流入2000万美元。2022年至今为止,数字资产投资产品的资金净流入总额达到了5.2亿美元。[2022/5/30 3:51:02]

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

BlockChannel发布基于Handshake协议的浏览器HandyBrowser:BlockChannel发布基于Handshake协议的浏览器HandyBrowser,HandyBrowser使用Docker容器进行操作,该容器包含一个完整的Handshake节点,该节点在浏览器后台运行。这意味着每一次打开HandyBrowser的用户,将会帮助无缝运行一个节点。

此外,HandyBrowser还可以作为概念证明,最终可在其他Web3浏览器(如Brave和Opera)中实现。此前,BlockChannel曾开发CipherBrowser,后出售给Coinbase。(Medium)[2020/6/23]

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

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

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

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

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

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

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

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

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

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

金色财经

金色荐读

Block unicorn

区块链骑士

金色财经 善欧巴

Foresight News

深潮TechFlow

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

金星链

[0:15ms0-1:644ms