Cointime

扫码下载App
iOS & Android

SharkTeam:BNO攻击事件原理分析

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

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

一、 事件分析

攻击者地址:0xa6566574edc60d7b2adbacedb71d5142cf2677fb

攻击合约:0xd138b9a58d3e5f4be1cd5ec90b66310e241c13cd

被攻击合约:0xdCA503449899d5649D32175a255A8835A03E4006

攻击交易:0x33fed54de490797b99b2fc7a159e43af57e9e6bdefc2c2d052dc814cfe0096b9

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

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

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

(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)项目上线前,需要向第三方专业的审计团队寻求技术帮助。

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

评论

所有评论

推荐阅读

  • HYPE突破83.5美元,续创历史新高

    行情数据显示,HYPE突破83.5美元,现报83.44美元,24小时涨幅3.12%,续创历史新高。

  • 彭博:智谱确认 Ox Alpha 为 GLM 新版本,将于今晚释放模型权重

    8月26日,据彭博社报道,中国人工智能公司 Z.AI(智谱)确认,近期在在线使用榜单中迅速升至前列的神秘人工智能模型 Ox Alpha,是其 GLM 系列的新迭代版本。 该公司在回应彭博新闻查询时表示,将于今晚发布 Ox Alpha 的模型权重。

  • BTC突破79000美元

    行情显示,BTC突破79000美元,现报79066.69美元,24小时跌幅达到1.91%,行情波动较大,请做好风险控制。

  • 马云出手增持 已连日买入阿里港股超6亿港元

    《科创板日报》25日讯,据消息人士向《科创板日报》记者透露,随着阿里发起配售融资,阿里巴巴创始人马云连日增持阿里港股,总额已超6亿港元,表达对阿里AI前景的坚定看好。

  • BTC跌破79000美元

    行情显示,BTC跌破79000美元,现报78993.01美元,24小时涨幅达到1.85%,行情波动较大,请做好风险控制。

  • BTC跌破80000美元

    行情显示,BTC跌破80000美元,现报79983.76美元,24小时涨幅达到3.33%,行情波动较大,请做好风险控制。

  • Hyperliquid政策中心敦促美国SEC和CFTC采纳统一的永续合约框架

    8月25日,Hyperliquid政策中心(Hyperliquid Policy Center,HPC)向美国美国SEC和CFTC提交了意见称,美国CFTC和SEC在过去一年中一直在努力寻找永续合约分类的答案。HPC认为,具有期货合约传统特征的股票永续合约可以被列为证券期货。HPC敦促美国SEC和CFTC建立一套统一的永续合约分类体系,该体系应基于每份合约的特征及其交易方式,将同类产品归为同一类,无论它们参考的是比特币、原油还是单一证券。 HPC要求美国SEC和CFTC采取以下四项措施:1、确认证券期货的定义包含了期货合约的既定特征,并且具有这些特征的现金结算股票永续合约可以作为证券期货上市。2、保留交易场所目前在产品上架决定方面所拥有的灵活性。3、保持两个机构分类的一致性,以便永续合约无论涉及何种资产,都能获得相同的阈值分类。4、对证券期货框架进行现代化改造,以重振该类别并适应新的产品结构。

  • BTC突破81000美元

    行情显示,BTC突破81000美元,现报81045.53美元,24小时涨幅达到4.61%,行情波动较大,请做好风险控制。

  • BTC突破80000美元

    行情显示,BTC突破80000美元,现报80059.99美元,24小时涨幅达到3.35%,行情波动较大,请做好风险控制。

  • Web3数据和AI公司Validation Cloud完成1000万美元新一轮融资

    Web3数据和AI公司Validation Cloud宣布从True Global Ventures获得1000万美元融资,该公司计划利用这笔资金扩展其AI产品,实现对Web3数据的无缝访问。 据介绍,该公司的产品平台由三个部分组成:质押、节点API以及数据和AI。在质押方面,Validation Cloud的质押资产已超过10亿美元。Validation Cloud的一些客户包括 Chainlink、Aptos、Consensys、Stellar和Hedera。