错误地验证签名 — AssociationNFT 案例

这篇文章讨论了NBA协会NFT销售合同中一个严重的漏洞,强调了在热门区块链项目中实施适当安全措施的重要性。

错误地验证签名 — AssociationNFT 案例
Image: Raymond Clarke/Flickr

The Association NFT 是一个由 NBA 推出的 NFT。然而,我们发现其 NFT 销售合同存在严重漏洞,允许攻击者在不支付任何 Token 的情况下铸造大量 NFT。

该漏洞的根本原因是签名验证使用不当。基本上,该合同未能确保签名只能被用户(且仅被该用户)使用一次。在此情况下,攻击者可以重复使用一个特权用户的签名,并将 Token 铸造给自己。

我们可以看到,在 verify 函数中,签名中没有发送方的地址。此外,也没有机制包含一个 nonce 来确保签名只能使用一次。这些安全要求是在软件安全课程中的基础知识。

我们对如此流行的 NFT 项目中存在此类漏洞感到惊讶。整个社区需要更加关注合同的安全性。

关于 BlockSec

BlockSec 是一家开创性的区块链安全公司,由一群全球杰出的安全专家于 2021 年创立。公司致力于为新兴的 Web3 世界增强安全性和可用性,以促进其大规模采用。为此,BlockSec 提供智能合约和 EVM 链安全审计服务,Phalcon 平台用于安全开发和主动阻止威胁,MetaSleuth 平台用于资金追踪和调查,以及 MetaSuites 扩展,帮助 Web3 构建者在加密世界中高效冲浪。

迄今为止,公司已为 MetaMask、Uniswap Foundation、Compound、Forta 和 PancakeSwap 等 300 多家知名客户提供服务,并在两轮融资中从 Matrix Partners、Vitalbridge Capital 和 Fenbushi Capital 等知名投资者那里获得了数千万美元的投资。

官方网站:https://blocksec.com/

官方 Twitter 账号:https://twitter.com/BlockSecTeam

Sign up for the latest updates