1

重建世界:The Sandbox 任意燃烧漏洞回顾

 2 years ago
source link: https://paper.seebug.org/1828/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

重建世界:The Sandbox 任意燃烧漏洞回顾

2022年02月09日 2022年02月09日
区块链

作者:Victory@慢雾安全团队
原文链接:https://mp.weixin.qq.com/s/UECwAt_p8rXn-3kZ4kC2VQ

据慢雾区情报,2022 年 1 月 28 日 The Sandbox 官方发布一则 LAND 智能合约迁移的公告,但是在公告中没有说明合约具体是出了什么问题,慢雾安全团队现将简要分析结果分享如下。

The Sandbox 是一个虚拟世界,玩家可以使用平台代币 SAND 在以太坊区块链中创建、拥有自己的游戏体验并从中获利。在这里你可以玩、创造、收集、赚取、治理和拥有游戏中的任何东西。

1.通过阅读问题的合约,地址:0x50f5474724e0Ee42D9a4e711ccFB275809Fd6d4a,发现在以往都设置成内部调用的 _burn 函数在问题合约是一个 public 的状态。

b6991f9b-1419-4a79-a22a-7e453986a0bc.jpg-w331s

虽然函数内有做 require(from == owner, "not owner"); 判断,但是这个 from 是可以由调用者自己构造。这就导致任何用户都可以去随意 burn 掉其他用户的 NFT。

2.我们尝试着去查询链上的交易记录,发现已经有人进行了 _burn 测试,成功燃烧掉了一块不属于他的 NFT,但没有发现大规模的攻击行为,应该是个白帽测试。

da8c84a1-1888-4d07-8164-9b2bc68b0fc0.jpg-w331s

3.从上图我们可以看到燃烧的 tokenID 是 3738, 但是NFT tokenURI 仍可正常访问,土地的 NFT 信息也仍然可以访问 ,我们推测官方应该已经对此做出修改。

4.随后查看了项目方升级后的新合约,地址:

0x5CC5B05a8A13E3fBDB0BB9FcCd98D38e50F90c38

35a6ec65-5114-4bde-9afd-c51f9e4ba07d.jpg-w331s

发现项目方这次更新后使用的是 proxy 合约(可能是便于日后出问题之后可以对合约进行二次升级),逻辑合约地址:0x1fc6479bdc7511c6803aff2f477e0fd3171606e0,对比后发现修改过的 _burn 函数其函数可见性已经修改成 internal。

5.至此,The Sandbox 事件简要分析完毕。通过查询合约发现还是有部分 NFT 拥有者还未做迁移,这是项目方提供的迁移界面:

https://sandbox.game/en/me/migrate。

本次事件中项目方及时的确认了问题并且提出了解决方案,未造成用户资产的严重损失。但是漏洞的细节让人细思极恐。如果有攻击者利用此漏洞并进行恶意攻击,那么整个 The Sandbox 的土地将被燃烧殆尽。从中我们也可以发现没有安全性的元宇宙世界就是空中楼阁。

慢雾安全团队建议:元宇宙系统的安全边界更广,上线前应该进行充分的安全审计,避免出现类似严重的问题。


Paper 本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/1828/

← 漫游螳螂恶意软件危及欧洲

PrivateLoader: 众多恶意软件方案的第一步 →

r

慢雾安全团队

作为中国最早专注于区块链生态安全的公司,慢雾科技已经为全球多家领先的数字货币交易所、钱包、底层公链、智能合约等项目做了安全审计及防御部署。慢雾科技的安全解决方案包括:安全审计、安全顾问、防御部署、威胁情报(BTI)、漏洞赏金等服务并配套相关安全产品。

阅读更多有关该作者的文章



About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK