NBA球员卡NFT合约漏洞百出!没白名单也可免费铸造

NBA 推出的动态 NFT「THE ASSOCIATION」于昨日凌晨正式开放铸造,许多早期进入 Discord 的支持者皆能获得白名单资格。然而,却因为智能合约漏洞,导致许多没有白名单的用户也能够大量铸造,进而使得部分符合资格的用户损失权益。

THE ASSOCIATION NFT 合约漏洞

根据 Azuki 开发人员 cygaar 的说法,若想利用其合约漏洞,只需将此数据发送到尚未铸造过的钱包上的合约地址。无需拥有白名单资格也可以进行此操作。


将这段数据反编译后,你会看到它调用的函数是 mint_approved,仔细观察 info 中的参数会发现这段程式码主要是用来判断交易是否由铸造网站签名,以及用户是否在白名单内。然而,它少了一个关键部分,他没有去检查 info.from == msg.sender.


这意味者同样的签名能被任何人重复利用,只需一个有效的签名便可无限循环。虽然一个钱包仅能铸造一次,但要创建一个新钱包不过就是几秒钟的事情而已。

此外,cygaar 提出了一个更大的疏失。合约并没有检查交易是否来自用户,若能多添加一行:require(tx.origin == msg.sender, ‘Caller not user’),即可降低合约被滥用的风险。

上述漏洞被发现后,被许多有心人士利用,导致 NFT 在短时间内被铸造完毕,甚至导致有白名单的用户无法铸造。

「整理来看,合约看起来非常草率。随意的注解、大小写不一致、许多未使用的变数,且没有进行优化」cygaar 说道。

为了使智能合约更加安全完善,cygaar 给了几点建议:

  • 妥善地进行签名验证,确保签名来自讯息发送方
  • 对合约多用点心,别再只是到处复制贴上
  • 聘请审计员,任何合格的审计员皆能在短时间内发现这些漏洞

官方致歉

在事情发生后,NBAxNFT 立即于其 Twitter 表达歉意,他们当前正在确认因漏洞导致无法铸造的白名单钱包。若有问题可于其 Discord 反应。

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

免责声明:本文章仅代表作者个人观点,不代表本站的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。本站作为中立的平台服务提供方,尊重他人的知识产权、名誉权等法律法规所规定的合法权益!如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到qklwk88@163.com,本站相关工作人员将会进行核查处理回复

本文地址:https://www.5m88.com/post/1614.html

发布于 2022-04-21 00:04:00
收藏
分享
海报
1049
上一篇:NBA推出动态NFT!依球员季后赛表现变更外观,4/20凌晨免费铸造 下一篇:区块链和大数据的关系?区块链应用大数据的优势?
目录

    推荐阅读

    忘记密码?

    图形验证码