如何錯誤驗證簽名: 以NBA 數字藏品發行為例

NBA最近發行了數字藏品,然而我們發現,其售賣數字藏品的合約存在非常嚴重的漏洞。攻擊者(“科學家”)可以通過漏洞無成本鑄造藏品然後出售獲利。

漏洞的成因在於對白名單用戶的簽名校驗有安全問題。具體來說,合約沒有保證白名單簽名只能被特定用戶使用而且只能使用一次。因此,攻擊者可以重用其他白名單用戶簽名鑄造藏品。

從代碼我們可以看出, verify函數並沒有將發送者地址放到簽名中。另外,也沒有機制保證該簽名只能被使用一次。我們認為這一些安全實踐是最基本的軟件安全入門知識。我們非常驚訝這樣的漏洞居然出現在非常知名的項目裡面。

分享至:

作者:BlockSec

本文為PANews入駐專欄作者的觀點,不代表PANews立場,不承擔法律責任。

文章及觀點也不構成投資意見

圖片來源:BlockSec如有侵權,請聯絡作者刪除。

關注PANews官方賬號,一起穿越牛熊