BTC
ETH
HTX
SOL
BNB
View Market
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

SlowMist:TreasureDAO NFT取引市場における「ゼロ元購入」の脆弱性分析

慢雾科技
特邀专栏作者
2022-03-03 11:30
この記事は約1264文字で、全文を読むには約2分かかります
この脆弱性によりERC-721規格のNFTが直接転送され、価格計算時にNFTの購入に必要なコストが0として計算されてしまいます。
AI要約
展開
この脆弱性によりERC-721規格のNFTが直接転送され、価格計算時にNFTの購入に必要なコストが0として計算されてしまいます。

契約住所

関連情報

契約住所

TreasureMarketplaceBuyer:

0x812cda2181ed7c45a35a691e0c85e231d218e273

TreasureMarketplace:

0x2e3b85f85628301a0bce300dee3a6b04195a15ee

脆弱性の詳細の分析

1. ユーザーは、TreasureMarketplaceBuyer コントラクトの buyItem 関数を通じて NFT を購入します。この関数は、最初に合計購入価格を計算し、支払いに必要なトークンをコントラクトに入力し、次に TreasureMarketplace コントラクトの buyItem を呼び出して市場から NFT を購入します。 TreasureMarketplaceBuyer コントラクトに追加し、TreasureMarketplaceBuyer コントラクトからユーザーに NFT を転送します。

2. TreasureMarketplace 契約では:

受信した _quantity パラメーターが 0 の場合、 require(listedItem.quantity >= _quantity, を直接渡すことができることがわかります。"not enough quantity"攻撃トランザクション分析

攻撃トランザクション分析

ここでは 1 つの攻撃トランザクションの詳細のみを示します。他の攻撃トランザクションの手法も同様であるため、ここでは繰り返しません。

攻撃トランザクション:

https://arbiscan.io/tx/0x82a5ff772c186fb3f62bf9a8461aeadd8ea0904025c3330a4d247822ff34bc02

アタッカー:

0x4642d9d9a434134cb005222ea1422e1820508d7b

攻撃の詳細:

以下の図からわかるように、攻撃者は TreasureMarketplaceBuyer コントラクトの buyItem 関数を呼び出し、受信する _quantity パラメーターを 0 にします。

要約する

要約する

この脆弱性の核心は、ERC-721規格のNFTを転送する前に、受信した_quantityパラメータが0ではないという判断が欠如しており、これによりERC-721規格のNFTが転送できるという事実につながります。価格計算時に直接NFTを購入した場合、必要な費用は0として計算されます。このような脆弱性への対応として、SlowMistセキュリティチームは、ERC-721規格のNFTを転送する前に、そのような問題が再発しないように、入荷数量を適切に判断する必要があると推奨しています。

DAO
NFT
安全性
Odaily公式コミュニティへの参加を歓迎します
購読グループ
https://t.me/Odaily_News
チャットグループ
https://t.me/Odaily_CryptoPunk
公式アカウント
https://twitter.com/OdailyChina
チャットグループ
https://t.me/Odaily_CryptoPunk