BTNFT 事件 - 验证检查不当导致奖励被盗用

本文为机器翻译
展示原文

2025年4月18日,BTNFT协议遭到攻击,造成约1.9万美元的损失。

BTNFT是一个NFT合约,内置BTT代币锁仓和奖励分配机制,将NFT销售与与基于时间的代币释放机制相结合。

概述>者:
https://bscscan.comn/address/0x7a4d144307d2dfa2885887368e4cd4678db3c27a

<�约:br>https://bscscan.com/address/0x0fc91b6fea2e7a827a8c99c91101ed36c638521b

攻击交易:

攻击分析

查看�击交�易我们可以看到�者重复调用transferFrom函数,试图将ID从1到500的NFT转移到BTNFT合约本身。从发出的出BTT.TransferBTNFT.TokensClaimed事件,我们可以确定攻击者正在从BTNFT合约收集BTT代币。

为了了攻击者何能这样做,让我们看看BTNFT合约中transferFrom函数的实现。我们可以看到它调用_update函数将NFT转移给新所有。

查看_update函数的实现,当接收者是BTNFT合约本身时,它调用claimReward函数向调用者转移BTT代币,没有任查。这是一一个个明显的安全漏洞,何可以将NFTS转移到BTNFT合约本身并领取BTT奖励,而无需�拥有任何BTNFT。。

结论h_update函数未能验证调用在NFT合约转移本到合约本身时是否有合法权利取奖励。这种疏忽允许任在不�实�NFT的情况下领BTT代币,造成1.9万美元的损失。这一事件凸显了在智能合约中实施适当的授权检查和输入验证的关键重要性,尤其是在处理合约自身交互和奖和奖励分配配>

来源
免责声明:以上内容仅为作者观点,不代表Followin的任何立场,不构成与Followin相关的任何投资建议。
喜欢
收藏
评论