BTC
ETH
HTX
SOL
BNB
Xem thị trường
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

SlowMist: Phân tích lỗ hổng của "Mua bằng 0 đồng nhân dân tệ" trong Thị trường giao dịch NFT của TreasureDAO

慢雾科技
特邀专栏作者
2022-03-03 11:30
Bài viết này có khoảng 1264 từ, đọc toàn bộ bài viết mất khoảng 2 phút
Lỗ hổng này khiến NFT của tiêu chuẩn ERC-721 được chuyển trực tiếp và chi phí cần thiết để mua NFT được tính bằng 0 khi tính giá.
Tóm tắt AI
Mở rộng
Lỗ hổng này khiến NFT của tiêu chuẩn ERC-721 được chuyển trực tiếp và chi phí cần thiết để mua NFT được tính bằng 0 khi tính giá.

địa chỉ hợp đồng

Thông tin liên quan

địa chỉ hợp đồng

TreasureMarketplaceBuyer:

0x812cda2181ed7c45a35a691e0c85e231d218e273

TreasureMarketplace:

0x2e3b85f85628301a0bce300dee3a6b04195a15ee

Phân tích chi tiết lỗ hổng

1. Người dùng mua NFT thông qua chức năng buyItem trong hợp đồng TreasureMarketplaceBuyer. Chức năng này trước tiên sẽ tính toán tổng giá mua và nhập Mã thông báo cần thiết để thanh toán vào hợp đồng, sau đó gọi buyItem trong hợp đồng TreasureMarketplace để mua NFT từ thị trường đến hợp đồng TreasureMarketplaceBuyer và sau đó chuyển NFT cho người dùng từ hợp đồng TreasureMarketplaceBuyer.

2. Trong hợp đồng TreasureMarketplace:

Có thể thấy rằng nếu tham số _quantity đến là 0, bạn có thể chuyển trực tiếp yêu cầu (listedItem.quantity >= _quantity,"not enough quantity"Phân tích giao dịch tấn công

Phân tích giao dịch tấn công

Chỉ có chi tiết của một giao dịch tấn công được hiển thị ở đây và phương thức của các giao dịch tấn công khác là như nhau, vì vậy tôi sẽ không nhắc lại chúng ở đây.

Giao dịch tấn công:

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

kẻ tấn công:

0x4642d9d9a434134cb005222ea1422e1820508d7b

Chi tiết tấn công:

Như có thể thấy từ hình bên dưới, kẻ tấn công gọi hàm buyItem trong hợp đồng TreasureMarketplaceBuyer và đặt tham số _quantity đến bằng 0.

tóm tắt

tóm tắt

Cốt lõi của lỗ hổng này là trước khi chuyển NFT của chuẩn ERC-721 đã thiếu phán đoán rằng tham số _quantity đến không phải là 0, dẫn đến có thể chuyển NFT của chuẩn ERC-721 trực tiếp và việc mua NFT khi tính giá Chi phí yêu cầu được tính bằng 0. Để đối phó với các lỗ hổng như vậy, nhóm bảo mật SlowMist khuyến nghị rằng trước khi chuyển NFT của tiêu chuẩn ERC-721, cần phải đánh giá đúng về số lượng đến để tránh những sự cố như vậy xảy ra lần nữa.

DAO
NFT
Sự an toàn
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký
https://t.me/Odaily_News
Nhóm trò chuyện
https://t.me/Odaily_CryptoPunk
Tài khoản chính thức
https://twitter.com/OdailyChina
Nhóm trò chuyện
https://t.me/Odaily_CryptoPunk