ETSC挖矿是否为正规平台首次发行的DeFi项目Based智能合约出现漏洞,发生了什么

OKX欧易app

OKX欧易app

欧易交易所app是全球排名第一的虚拟货币交易所,注册领取6万元盲盒礼包!

APP下载   官网注册

“亡羊补牢,为时未晚”,这句话在生活中的大部分时候均适用。然而,在面临网络安全时,牢破也许就会造成无法挽回的损失。

在安全问题未造成不可弥补的损失前就被发现,或是一开始便做好万全准备,才是身为区块链从业者的安全第一要义。

北京时间8月14日下午,CertiK安全技术团队发现DeFi匿名耕种项目Based官方宣布有攻击者通过调用Based智能合约中的某一个函数,将一号池(Pool1)冻结,同时宣布将

- Based团队部署一号池智能合约,部署地址为0x77caF750cC58C148D47fD52DdDe43575AA179d1f。- Based官方通过调用智能合约中的renounceOwnership函数来声明智能合约所有者,但未进行智能合约初始化。- 由于在Based智能合约中initialize函数被错误的设置为可以被外部调用,因此造成在初始化智能合约过程中,一号池的智能合约被外部攻击者用错误的值初始化。- 错误的初始化造成Based官方无法再次初始化一号池的智能合约,因此造成一号池被冻结,任何质押行为都无法完成。- Based官方决定放弃该智能合约,重新部署一号池智能合约。

智能合约技术细节:

1. Based团队在部署智能合约后,没有及时的调用下图的initialize函数来初始化智能合约的设置:

2. 外部调用者利用Based团队在部署和初始化智能合约之间的时间差,乘机调用了下图中671行被错误设置调用范围的initialize函数,抢先初始化了一号池的智能合约:

3. 上图两个initialize函数都是由initializer的修饰符修饰。根据其中代码,如果调用了其中一个initialize函数,另外一个initialize函数就无法被调用。initializer修饰符代码如下图所示,这造成了Based官方失去了初始化函数的机会:

4. 综上因素,Based智能合约无法被官方正确初始化,因此任何质押行为都无法进行。

质押失败的交易记录:

如何避免事件发生:

该次事件本质上是由智能合约漏洞导致的,但如果Based团队提早注意到这个漏洞,提前初始化智能合约,可以完全规避这次危险,避免一号池被冻结。因此,CertiK安全技术团队提出如下建议:

- 部署智能合约时应准备好初始化智能合约所需要的命令脚本等工具,及时初始化智能合约,避免攻击者利用部署操作和初始化操作之间的时间差,抢先初始化或者恶意操纵智能合约。- 开发者应精通智能合约的运行原理和技术细节,不要盲目的采用其他的智能合约代码。- 可邀请专业的第三方安全团队或内部安全专家对其智能合约进行审计,保证智能合约的安全性和可靠性。

本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/zx/73040.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年08月26日
下一篇 2023年08月26日

相关推荐

  • 炒币做合约怎么刷钱,炒币一般用杠杆还是合约

    一、炒币一般用杠杆还是合约炒币一般使用合约进行交易。杠杆通常用于高风险的投资领域,而炒币是一种低风险的投资方式,因此不适合使用杠杆。相反,合约交易允许投资者以较低的风险获得更高的回报率。在合约交易中,投资者通过购买或出售虚拟货币的未来价格来获利。这种策略需

    2024-11-22 13:30:01
    2 0
  • 比特币合约如何平仓,比特币合约已亏百分之160了不知道平不平仓

    一、什么是比特币期货合约比特币期货合约,通常是以比特币价格指数为标的的标准化合约。比特币交易所提供的比特币期货通常是以比特币进行交易的。期货是与现货相对的,现货是实实在在可以一手交钱一手交货的商品,而期货其实不是“货”,是承诺未来一个时间交“货”(标的)的

    2024-11-21 15:00:02
    3 0
  • 比特币智能合约怎么查,怎么查询所有区块链公链

    一、怎么查询所有区块链公链公链在哪里查询公链在浏览器查询。随着区块链的大热,越来越多的科技公司开始研究和开发区块链。在区块链迅速发展的同时,也有少部分项目方打着区块链的名号,在市面上进行招摇撞骗。如何判断公链真假,对于现在许多想要进行数字货币交易的群体来说

    2024-11-21 11:30:01
    5 0
  • 比原链钱包地址怎么写,如何查区块链合约地址信息

    一、区块链地址怎么查(区块链地址怎么查询平台)如何通过区块链资产地址(数字钱包地址)查看该地址的区块链资产(数字货币)?用区块链浏览器就可以查看。在搜索输入框内输入想查询的钱包地址,如果你输入的地址不完整,但是这个地址之前有在区块链上进行过ETH交易或者被查询

    2024-11-20 14:00:01
    3 0
  • 区块链 如何删除合约,什么叫区块链合约

    一、什么叫区块链合约区块链合约层是什么如果说数据、网络和共识三层,分别承担了区块链底层数据表示、数据传播和数据验证功能的话,合约层则是封装各类脚本代码、算法以及更为复杂的智能合约,是区块链系统实现灵活编程和操作数据的基础。作为一种自我执行的协议,智能合约被

    2024-11-20 01:30:01
    9 0
  • 虚拟货币地址怎么查询,如何查区块链合约地址信息

    一、如何知道是哪个区块链平台,怎么查询区块链是不是公链怎么查别人区块链信息1.如果是查询账户余额、账户的历史交易数据等信息,建议直接输入钱包地址查询;如果是查询某笔转账的相关信息,比如是否到账、进展如何,输入交易ID是最方便的。当然了,区块链浏览器不仅可以查询自己的

    2024-11-17 13:30:02
    9 0

发表回复

8206
验证码

评论列表(0条)

    暂无评论

ok交易所
已有100万用户加入ok交易所

立即下载