Vào ngày 18 tháng 4 năm 2025, giao thức BTNFT đã bị khai thác, dẫn đến mất mát khoảng 19 nghìn đô la.
BTNFT là một hợp đồng NFT có cơ chế phát hành và phân phối Token BTT tích hợp sẵn, kết hợp giữa việc bán NFT với cơ chế phát hành Token dựa trên thời gian.
Tổng quan
Kẻ tấn công:
https://bscscan.com/address/0x7a4d144307d2dfa2885887368e4cd4678db3c27a
Hợp đồng dễ bị tấn công:
https://bscscan.com/address/0x0fc91b6fea2e7a827a8c99c91101ed36c638521b
Giao dịch tấn công:
https://bscscan.com/tx/0x1e90cbff665c43f91d66a56b4aa9ba647486a5311bb0b4381de4d653a9d8237d
Phân tích khai thác
Nhìn vào giao dịch tấn công, chúng ta có thể thấy kẻ tấn công đang gọi hàm transferFrom
một cách lặp đi lặp lại, cố gắng chuyển các NFT có ID từ 1 đến 500 đến chính hợp đồng BTNFT. Từ các sự kiện BTT.Transfer
và BTNFT.TokensClaimed
được phát ra, chúng ta có thể xác định rằng kẻ tấn công đang thu thập các Token BTT từ hợp đồng BTNFT.
Để hiểu tại sao kẻ tấn công có thể làm điều này, hãy xem xét việc triển khai hàm transferFrom
trong hợp đồng BTNFT. Chúng ta có thể thấy rằng nó gọi hàm _update
để chuyển các NFT sang chủ sở hữu mới.
Nhìn vào việc triển khai hàm _update
, khi người nhận là chính hợp đồng BTNFT, nó sẽ gọi hàm claimReward
để chuyển Token BTT cho người gọi mà không có bất kỳ kiểm tra nào. Đây là một lỗ hổng bảo mật rõ ràng cho phép bất kỳ ai cũng có thể chuyển BTNFT đến chính hợp đồng BTNFT và yêu cầu phần thưởng BTT mà không cần sở hữu bất kỳ BTNFT nào.
Kết luận
Vụ khai thác này cho thấy làm thế nào một lỗi logic đơn giản trong việc ủy quyền có thể dẫn đến mất mát tài chính đáng kể. Hàm _update
của hợp đồng không xác minh liệu người gọi có quyền hợp pháp để yêu cầu phần thưởng khi các NFT được chuyển đến chính hợp đồng hay không. Sự sai sót này cho phép bất kỳ ai cũng có thể yêu cầu Token BTT mà không cần sở hữu bất kỳ NFT nào, dẫn đến mất mát 19 nghìn đô la. Sự cố này nhấn mạnh tầm quan trọng then chốt của việc triển khai các kiểm tra ủy quyền và xác thực đầu vào trong các hợp đồng thông minh, đặc biệt là khi xử lý các tương tác tự thân của hợp đồng và phân phối phần thưởng.