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

avatar
慢雾科技
2năm trước
Bài viết có khoảng 586từ,đọc toàn bộ bài viết mất khoảng 1 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á.

đị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.

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

2. Trong hợp đồng TreasureMarketplace:

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

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:

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

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.

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

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.

Bài viết gốc, tác giả:慢雾科技。Tuyển dụng: Nhân viên kinh doanh phần mềm theo dự án report@odaily.email;Vi phạm quy định của pháp luật.

Odaily nhắc nhở, mời đông đảo độc giả xây dựng quan niệm đúng đắn về tiền tệ và khái niệm đầu tư, nhìn nhận hợp lý về blockchain, nâng cao nhận thức về rủi ro; Đối với manh mối phạm tội phát hiện, có thể tích cực tố cáo phản ánh với cơ quan hữu quan.

Đọc nhiều nhất
Lựa chọn của người biên tập