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相關的任何投資建議。
喜歡
收藏
評論