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

评论

所有评论

推荐阅读

  • 伊朗向以色列发射第五轮导弹

    当地时间6月14日清晨,以色列军方称,监测到伊朗发动第五轮导弹攻击,以军正展开拦截。

  • 美军“爱国者”与“萨德”导弹防御系统参与以色列防空行动

    匿名美国国防官员发布消息称,由美军人员操作、最早在拜登政府时期部署的“爱国者”和“萨德”导弹防御系统,参与了以色列的防空行动。相比去年美方在伊朗两次报复性袭击中出动空中和海上力量协助拦截导弹的广泛介入,此次行动的规模明显较小。

  • 伊朗新一轮导弹射向以色列

    当地时间6月14日凌晨,据以色列军方称,伊朗向以色列发射新一轮导弹,以军正展开拦截,以色列全国多地响起防空警报。

  • 白宫正在审查SpaceX合同

    四位知情人士透露,在特朗普与马斯克公开吵架后,白宫已指示国防部和美国航空航天局(NASA)收集有关SpaceX数十亿美元合同的详细信息。 知情人士表示,政府方面已启动相关审查,要求有关机构仔细审视马斯克及其公司所获得的合同,以为可能采取的报复措施做好准备。五角大楼也在评估是否应削弱SpaceX在美国新一代导弹防御系统项目中的参与程度。

  • 美联储的新利率预测有可能影响市场

    LBBW 资深固定收益分析师 Elmar Voelker 在一份报告中说,在美联储下周的会议上,最大的市场波动潜力是新的关键利率预测。迄今为止,所谓的「点阵图」暗示美联储今年将降息两次,而货币市场定价几乎与美联储的预测完全一致。在我们看来,调整点阵图可能会让一些市场参与者措手不及。

  • 以色列的袭击未能突破伊朗核设施的保护层

    早期迹象表明,以色列的袭击没有穿透保护伊朗核储备设施的防护层。国际原子能机构(IAEA)说,没有迹象显示伊朗主要铀浓缩设施的辐射水平增加。伊朗当局告诉国际原子能机构,他们没有在位于德黑兰以南约300公里的纳坦兹设施观察到更高的辐射。以色列当局说,以色列没有对伊朗位于波斯湾沿岸的布什尔(Bushehr)核电站实施任何袭击。尽管如此,以色列总理内塔尼亚胡表示,袭击“将持续多少天,直到消除威胁”。只有最强大的常规弹药才能穿透伊朗的铀浓缩设施。纳坦兹核设施建在地下40多米处,有钢筋混凝土外壳保护,研究人员估计外壳厚约8米。而在福尔多核设施,浓缩大厅建在山里边。国际原子能机构总干事格罗西最近访问后估计,铀浓缩大厅位于地下半公里处。

  • 伊朗要求联合国安理会召开紧急会议

    伊朗常驻联合国代表团向安理会轮值主席致信,请求召开紧急会议,以应对以色列对伊朗的公然侵略。信中强烈谴责以色列在美国的支持下,对伊朗和平核设施和高级军事官员的侵略,呼吁安理会立即召开紧急会议,并对这些犯罪和挑衅行为采取果断行动。信中表示,以色列鲁莽、非法且有预谋地对伊朗的核设施和民用基础设施发动了一系列攻击。这些行动被认为明显违反了《联合国宪章》和国际法基本准则,其危险后果严重威胁着地区和国际和平与安全。

  • 伊朗方面称以色列总理专机已离开本-古里安机场

    当地时间13日,有消息称以色列总理内塔尼亚胡的专机已离开本-古里安机场。消息称,该专机由两架战斗机护航,正前往未知目的地。

  • 伊朗最高领导人将在以色列的袭击后发表声明

    伊朗国家电视台:伊朗最高领导人将在以色列的袭击后发表声明。

  • 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。