BTC
ETH
HTX
SOL
BNB
시장 동향 보기
简中
繁中
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를 구매합니다.이 기능은 먼저 총 구매 가격을 계산하고 결제에 필요한 Token을 계약에 입력한 다음 TreasureMarketplace 계약의 buyItem을 호출하여 시장에서 NFT를 구매합니다. TreasureMarketplaceBuyer 계약으로 전환한 다음 TreasureMarketplaceBuyer 계약에서 사용자에게 NFT를 전송합니다.

2. TreasureMarketplace 계약에서:

들어오는 _quantity 매개변수가 0이면 require(listedItem.quantity >= _quantity,"not enough quantity"공격 트랜잭션 분석

공격 트랜잭션 분석

여기에는 하나의 공격 트랜잭션에 대한 세부 정보만 표시되며 다른 공격 트랜잭션의 방법은 동일하므로 여기서는 반복하지 않겠습니다.

공격 트랜잭션:

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 공식 커뮤니티에 가입하세요