GameFi市场智能合约攻击的三大类型:回退攻击、三明治攻击和双花攻击_数字货币_比特币代理_数字货币代理_区块链_数字货币

GameFi市场智能合约攻击的三大类型:回退攻击、三明治攻击和双花攻击

admin 454

1.GameFi发展迅速,风险随之而来,不容忽视

Gamefi可以简单地理解为NFT DeFi。 一方面,Gamefi将DeFi融入游戏,也就是将DeFi游戏化,让DeFi更有趣,促进Gamefi生态的发展,另一方面,Gamefi通过提供流动性开采等方式,让玩家拥有多种入场方式,进行二次交易。 Gamefi是DeFi和NFT发展的必然结果,值得参与者在享受游戏的同时,从中获得真正的利益。 相对于以往游戏的“Deposit to Play”,Gamefi是“Play to Earn”,前者先付钱充值再玩游戏,后者一边玩游戏一边赚钱。 GameFi还通过游戏化的设置,给NFT赋予了实用价值。 里面的NFT道具,不仅可以是挂在NFT交易平台上的待售商品,还可以在游戏内的市场上直接交易,整个交易过程比传统游戏简单。

GameFi不仅改变了传统游戏的世界,还给了长期没有创新的DeFi新的玩法和机会。 GameFi在融合游戏趣味性的基础上,提供流动性开采等方式,带来二次交易市场的热度,有可能给普通用户带来更多的利益。 那么,普通用户加入GameFi有什么方法呢?

(1)参加GameFi游戏)首先,用户可以体验参加这些GameFi项目。 这些NFT游戏通过不同的设计机制可以给玩家获得适当的奖牌奖励、质押奖励或道具NFT的机会。

)2)投资GameFi令牌:有些项目通常会发放自己游戏中使用的令牌。 可以根据自己的价值判断和兴趣爱好,选择一些项目的代币进行投资。

)3)除了区块链游戏项目本身,还可以关注为GameFi服务的机构和团队根据其发展规模和前景流通代币是否有投资价值。

但是,随着GameFi市场的繁荣,风险也随之而来。 SharkTeam在最近的工作中发现,对GameFi的黑客攻击明显增加,产生了新的攻击模式。 我们的项目方和投资者需要重视,防患于未然,不造成巨大的资金损失,后悔。

目前,GameFi市场对智能合约的攻击类型主要是后退攻击、三明治攻击、双花攻击。

2.回退攻击

CryptoZoan

l不公平的孵蛋

CryptoZoan的目的是用投币智能链(BSC )专注于NFT游戏的玩与体验,建立区块链和游戏相结合的新金融系统,让用户玩游戏的同事受益。 最近CryptoZoan受到了撤退攻击。 这个游戏通过引入随机性机制来提高用户体验,用户可以孵化游戏中的“蛋”。 ZOAN随机拥有稀有度等级,ZOAN一生都依赖于这个稀有度等级,共有6个等级,等级越高价值越高。 攻击者利用随机性和后退的组合,得到攻击者孵化要求的结果,破坏游戏的公平性,使攻击者获得最高利益。

攻击交易:

359 BSCS can.com/tx/0x15d 791 f 557 F4 F803 F6 A8 B 3481 C 651 AE 38D 1B 35720 C6 EB 04 D 19B D4 BF

攻击流程:

)将即将孵化的蛋放入攻击合同

)2)调用攻击合同触发EvolveEgg(uint256 )函数;

)3)检查稀有度,级别过低时进行回滚; (可能会消耗Gas费用,需要权衡是否继续。 )

4 )取出等级高的宠物。

攻击脚本如下所示。

随机筛选孵化的等级,等级大于6时正常结束; 低于6级时启动后退机制。 (需要一定的gas费用)

l战斗必胜

CryptoZoons的任务是和怪兽战斗。 玩家首先选择战斗中使用的生物,通过MarketPlace购买这些物品来装备武器。 玩家支付少量BNB gas的价格与选定的敌人战斗,同时获胜的人将获得一定数量的代币。 由于是在合同中退却的结构,攻击者在战斗结束后,可以用余额判断是否获胜。 如果取得胜利,发送交易将正常执行; 失败时进行回滚。

攻击流程:

)1)将宠物配置在攻击合同中

)2)使合同触发战斗

(3)令牌是否增加)检查战斗是否胜利)

(四)战斗失败的,回滚交易,寄送交易。

5 )战斗胜利,送交易。

攻击脚本如下所示。 判断余额必须大于交易前(战斗胜利)才能正常执行,否则将交易回滚。 目前,合同脚本还在执行中。

建议:请使用OpenZeppelin安全库isContract ()确定调用方是否为合同。

电子位元组

LarvaLabs创立了一个叫Meebits的项目,Meebit也受到了退却攻击。 所有的Meebits都有随机的特征。 但是,上市时,一些用户想到了如何欺骗系统,重新滚动特征,获得他们想要的特征。 Meebits项目的智能合约包含一个表示每个Meebit令牌ID特征的归档文件。 用户可以开始铸造Meebit,如果通过比较配置文件发现令牌并不罕见,则可以将其取消。

攻击者利用这一点,发起了300多起交易进行攻击。 如果没有足够罕见的特征,他们开始铸造的所有Meebit都会回滚。 经过300多次交易,他们终于偶然打开了罕见的Meebit。 攻击者声称,铸造这种稀有的Meebit每小时花费20,000美元的Gas费用,但却在利用合同。 他们可以以200 ETH的价格出售新铸造的Meebit,当时价值约为750,000美元。

LarvaLabs不久就知道了这件事,暂停了Meebit的铸造,说:“我们暂停了Meebits合同的社区铸造和交易。 合同是安全的,所有Meebits都是安全的”。 Meebits还是完全随机分配的——,除非你投入大量的时间和Gas。

3.“三明治”攻击

区块链的透明度和订单的执行延迟,往往会在网络拥挤的情况下,方便抢先交易,大大降低交易的安全性。 攻击者(或称为掠夺性交易员)试图找到要处理的受害者交易,并在前后交易中夹击该受害者。 这个战略来源于买卖资产来操作资产价格的方法。

所有区块链交易都可以在内存池(mempool )中确认。 掠夺交易者一旦意识到潜在受害者的待决资产x交易被用于资产y,就会在受害者之前购买资产y。 掠夺交易者知道受害者的交易会提高资产的价格,打算低价购买y资产,让受害者高价购买,最后高价出售资产。

Polka监视器

攻击交易:

3359 BSCS can.com/tx/0x1a 31 BFC 4d 3c 4a 726 c 931 CB 784 F9 E 79606 D 62996 B 6251 C 90d 959 E 5b 2e 6621 FD 9E

359 BSCS can.com/tx/0xB9 EC 7e 204 f 186660 a 377 Beee 8e 9223107 f 46 d 8718314 FB FDC 4133580311442 e

两笔交易都是10139859区块,攻击者以7.7gwei以上的交易费执行价格更新操作。

攻击流程:

)被攻击者发现攻击合同的NFT价格低廉,委托其以正常的gas价格购买,其交易进入mempool

)2)攻击者发现有人购买了宠物,立即以更高的gas价格交易更新宠物价格

(3)实际执行被攻击者的交易时,以更新后的高价购买。

攻击造成受害者住所余额空白,损失惨重。 对攻击者来说,如果攻击不成功,gas的费用很小。

安全建议:更新价格的操作需要快速冷却时间; 购买时以当时的价格为参数的用户只需要approve这次需要的数量即可,不要每次都使用approvemax。

4.“双花”攻击

复制庞克

可以说CryptoPunks是迄今为止最受欢迎的NFT项目。 CryptoPunks在2017年上市后,在智能合约上发生了有影响的错误。 在所有10,000 punks均已上市、二级市场上市后,发现了一个商品已上市但未能收到付款的错误。 CryptoPunks的联合创始人John Watkinson对这个问题表示遗憾,承认智能合约的设计不完善,卖方接受了ETH。

攻击交易:

359以太网. io/tx/0x B 11 f 88 e 22d 477 DBD9D6 FA0EF AbB F3 CC 70 f 315 e 86 DDE 3928 b 49 b 56 f 21e 548 CE 6

359以太网. io/tx/0xc 11887 d 04 a 53 BDC 5d 7a 68731871922 f 7b 1535 d 40153 d 9F8 C8 d 4363 d 531 FE 10 f

攻击者通过这些交易共获利90个ETH和当时价值90ETH的3个CryptoPunks。

漏洞详细信息:

攻击者调用buyPunk函数进行购买时,需要支付相应的ETH进行购买。 合同将买方的ETH转让给卖方(offer.seller )。 但是,在转账之前,合同执行了punknolongerforsale(punkindex )语句。 这个函数主要实现了将NTF的seller域设定为msg.sender (买方)。

因此,合同向卖方转账ETH时,通过offer.seller确定卖方进行转账。 通过该合同“尽早转让NTF出售权”的逻辑漏洞设计,攻击者实现了“双花”攻击。

安全建议:政府也可以修改这个漏洞,通过增加seller地址来代表卖方在这次交易中的身份,避免这种情况的发生。