前言
北京时间2022年03月03日,知道创宇区块链安全实验室?监测到?Arbitrum?上? TreasureDAO?的 NFT 交易市场 出现多次异常交易,黑客通过漏洞免费获取交易市场中部分 NFT 。知道创宇区块链安全实验室将对本次事件深入跟踪并进行分析。
基础信息
攻击交易哈希:0x57dc8e6a28efa28ac4a3ef50105b73f45d56615d4a6c142463b6372741db2a2b
TreasureMarketplace:0x2E3b85F85628301a0Bce300Dee3A6B04195A15Ee
TreasureMarketplaceBuyer:0x812cdA2181ed7c45a35a691E0C85E231D218E273
攻击者调用?TreasureMarketplaceBuyer?合约的?buyItem?函数进行购买 NFT 的操作,但是我们从 InputData 中可以看出攻击者传入的?_quantity 参数为0。虽然传入的购买 NFT 数量为0,但是攻击者依然成功的获得了一枚编号为 [5490] 的 NFT ,且 Tokens Tranferred 中并未进行代币转移。
根据上述分析,问题核心可能出现在?TreasureMarketplaceBuyer 合约的buyItem?函数。跟进分析后发现,用户调用该函数后合约首先计算出用户购买此NFT的价格,根据购买数量计算出总的价格并将所需支付的代币转入合约;然后调用 TreasureMarketplace 的 buyItem 将用户需要购买的 NFT 从 Marketplace 购买到 TreasureMarketplaceBuyer 最后将 NFT 发送到用户账户。观察合约 43-46?行发现对 ERC-721 标准的 NFT 转移并未对其进行数量判断,若此时的 _quantity?为0,用户依然会收到 NFT。
跟进 TreasureMarketplace 的 buyItem 函数发现,合约从市场回购 NFT 时只需完成 listedItem.quantity >= _quantity 的限制条件后便开始转移 NFT?到TreasureMarketplaceBuyer?合约,若此时的?_quantity?为0,依然会转移 NFT 到?TreasureMarketplaceBuyer?中。
根据上述分析后发现,当攻击者调用?TreasureMarketplaceBuyer?合约的buyItem?函数进行购买 NFT 时,若参数?_quantity 值为0,由于合约并没有对NFT转移数量的判断,且计算价格?totalPrice = _pricePerItem * _quantity?结果为0,最后导致攻击者能够免费获取该交易市场中 ERC-721 标准的 NFT。
这次攻击产生的主要原因是项目方对NFT转移数量并未做足够的判断,且并未考虑到购买数量为0的恶意购买行为。知道创宇区块链安全实验室?在此提醒,任何有关代币转移的操作都需要慎重考虑,合约审计、风控措施、应急计划等都有必要切实落实。
标签:WARTOKTOKEMARRewardeumImtoken官网地址下载Sint-Truidense Voetbalvereniging Fan TokenBitMart
前言 ——《AMM终极笔记》是对诸多代表性 AMM 项目和相关论文进行的一项综述(survey),由于 AMM 所涉及层面较为广泛.
Chainlink是一个去中心化预言机网络,将智能合约安全地连接至区块链网络以外的数据和服务。现代经济中的传统系统一旦接入了Chainlink预言机,就可以连通最前沿的区块链技术,让商业和社会流.
一张100元纸币,可以做的事情非常多,买早餐,买菜,炒股,旅游,折纸飞机甚至是当壁纸贴到墙上。功能太多,反而衍生出了各种各样的不同形式的钱.
近期Kucoin被盗,okex不能提币事件中,也已经充分暴露出中心化交易所的风险。 脆弱的中心化的交易所: 1. 技术风险 服务器软件漏洞、配置不当、DDoS攻击、服务端Web程序漏洞(包括技术.
2021年,去中心化自治社区DAO概念因为宪法DAO而红极一时,一群来自全球各地素不相识的年轻人,因为一个拍卖宪法的想法,在短短三天之内募集了超过4000万美金的资金,轰动一时.
关于DAO冷启动的问题,一直是大家所关注的一个问题。我们经常看到各种文章介绍,DAO的机制、文化、工具等,但是关于如何冷启动以及启动和运行DAO的细微差别,仍然较为缺失.