“零元购” TreasureDAO NFT 交易市场漏洞分析

2022 年 03 月 03 日,据慢雾区消息,TreasureDAO 的 NFT 交易市场被曝出严重漏洞,TreasureDAO 是一个基于 Arbitrum(L2)上的 NFT 项目。目前项目团队正在修复漏洞并承诺会对受影响的用户提供解决方案。慢雾安全团队第一时间介入分析,并将结果分享如下:

相关信息

合约地址

TreasureMarketplaceBuyer:

0x812cda2181ed7c45a35a691e0c85e231d218e273

TreasureMarketplace:

0x2e3b85f85628301a0bce300dee3a6b04195a15ee

漏洞细节分析

1. 用户通过 TreasureMarketplaceBuyer 合约中的 buyItem 函数去购买 NFT,该函数会先计算总共需要购买的价格并把支付所需的代币打入合约中,接着调用 TreasureMarketplace 合约中的 buyItem 从市场购买 NFT 到? TreasureMarketplaceBuyer ?合约,接着在从 TreasureMarketplaceBuyer 合约中把 NFT 转给用户。

VanEck报告:比特币ETF波动性与很多知名指数以及ETF产品相同:11月23日消息,美国资产管理公司VanEck发布报告称,2020年中,标准普尔500指数成份股中29%的波动性高于比特币,而在季度数据基础上,有22%成分股的波动性和比特币一样高。至此,VanEck认为机构投资者应考虑持有比特币,并从中长期角度上,将比特币描述为“传统股票和资本市场之外的新兴的波动性资产”。考虑到VanEck此前申请比特币ETF遇到监管障碍,媒体认为该最新报告可能旨在减轻SEC对比特币的恐惧心理。报告中指出,目前美国没有比特币ETF,但是根据报告,比特币ETF的波动性与很多知名指数以及ETF产品相同。(JP.Cointelegraph)[2020/11/23 21:43:58]

2. 在 TreasureMarketplace?合约中:

可以发现若传入的 _quantity 参数为 0,则可以直接通过 require(listedItem.quantity >= _quantity, "not enough quantity"); 检查并进入下面的转移 NFT 流程,而其中没有再次对 ERC-721 标准的 NFT 转移进行数量判断,使得虽然传入的 _quantity 参数虽然为 0,但仍然可以转移 ERC-721 标准的 NFT。而计算购买 NFT 的价格的计算公式为 totalPrice = _pricePerItem * _quantity,因此购买 NFT 的价格被计算为 0,导致了在市场上的所有 ERC-721 标准的 NFT 均可被免费购买。

攻击交易分析

此处仅展示一个攻击交易的细节,其余攻击交易的手法都一致,不再赘述。

攻击交易:

https://arbiscan.io/tx/0x82a5ff772c186fb3f62bf9a8461aeadd8ea0904025c3330a4d247822ff34bc02

攻击者:

0x4642d9d9a434134cb005222ea1422e1820508d7b

攻击细节:

可以从下图中看到,攻击者调用了 TreasureMarketplaceBuyer 合约中的 buyItem 函数,并使传入的 _quantity 参数为 0。

可以看到代币转移均为 0,攻击者并没有付出任何成本就成功购买了 tokenID 为 3557 的 NFT,整个攻击流程与上面的漏洞细节分析中所讲的一致。

总结

本次漏洞的核心在于进行 ERC-721 标准的 NFT 转移前,缺少了对于传入的 _quantity 参数不为 0 的判断,导致了 ERC-721 标准的 NFT 可以直接被转移且计算价格时购买 NFT 所需费用被计算成 0。针对此类漏洞,慢雾安全团队建议在进行 ERC-721 标准的 NFT 转移前,需对传入的数量做好判断,避免再次出现此类问题。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

Filecoin新晋“聪明钱”DeFi DAO们都在买啥?

在加密领域,“smart money”不一定是对冲基金或资产管理公司,也可能是 DAO。 这些拥有巨额资金的加密原生实体,有着世界上最聪明的加密人才为他们工作,管理财富。我们也开始注意到,他们是最早跑着入场“扫货”潜力代币的资金源头。 他们以 0.42 美元的价格开始购买 CRV。现在超过了 2 美元。

AAVE如何解决web2过渡到web3时遇到的托管问题

加密货币在主流采用方面面临一个主要障碍:用户操作是复杂的,对于加密新手来说,即使做最简单的事情——完全控制自己的数字资产,也并不容易。 用户在投资加密货币时并不需要完全控制其资产。像Coinbase这样的中心化交易所已经证明了加密货币交易“托管”模式的有效性,在这种模式下,人们将自己的资产交给托管机构保管,托管机构负责保管和跟踪资产。

TRX一览 GameFi发展历程及项目核心

什么是 GameFi 由于区块链技术的兴起,金融方面从未像现在这样与游戏行业交织在一起。区块链游戏也被称为去中心化游戏,即 GameFi——Game(游戏)+DeFI(去中心化金融)。 而除了 DeFi,NFT 也是链游的核心组件。NFT的吸引力在于其独特性、稀缺性、所有权可证明性,可转移性以及不可分割性,这对于提升游戏内物品价值无疑具有巨大的意义。

[0:15ms0-8:545ms