Token TGBS đã bị khai thác và cặp Token đã bị cạn kiệt do lỗ hổng trong hợp đồng Token TGBS, cho phép đốt số dư Token TGBS trong cặp. Tổng giá trị ước tính của số tiền khai thác được là khoảng 150.000 USD.
Tổng quan
Địa chỉ của kẻ tấn công:
https://bscscan.com/address/0xff1db040e4f2a44305e28f8de728dabff58f01e1
Giao dịch tấn công: https://bscscan.com/tx/0xa0408770d158af99a10c60474d6433f4c20f3052e54423f4e590321341d4f2a4
Hợp đồng dễ bị tổn thương ( Token TGBS): https://bscscan.com/address/0xedecfa18cae067b2489a2287784a543069f950f4
Phân tích khai thác
Nhìn vào giao dịch khai thác, chúng ta có thể thấy rằng hợp đồng tấn công của kẻ tấn công liên tục chuyển 1 wei Token TGBS cho chính nó. Để phân tích sâu hơn về cuộc tấn công, chúng ta nên kiểm tra chức năng transfer
của hợp đồng Token TGBS.
Trong hàm _transfer
, chúng ta có thể nhận thấy rằng hàm bên trong _burnPool
được gọi để chuyển thông thường.
Điều đó có nghĩa là, đối với các giao dịch chuyển khoản thông thường, một lượng nhỏ 0,3% số dư Token _swapPair
TGBS sẽ bị đốt theo định kỳ. Nếu kẻ tấn công có thể liên tục kích hoạt _burnPool
, chúng có thể thao túng giá Token TGBS trong _swapPair
một cách hiệu quả và kiếm lợi từ nó. Tuy nhiên, chúng ta có thể thấy hàm _burnPool
được bảo vệ bởi biến _burnBlock
, biến này sẽ được so sánh với block.number
và tăng lên mỗi khi hàm này được gọi.
Chức năng duy nhất để đặt lại giá trị của _burnBlock
là setBurnBlock
, chức năng này chỉ chủ sở hữu hợp đồng mới có thể gọi.
Sau khi phân tích sâu hơn về các giao dịch gần đây có tên là hàm setBurnBlock
, chúng tôi nhận thấy rằng hàm này được chủ sở hữu hợp đồng gọi vào lúc 2024-03-06 06:24:25. Cuộc tấn công xảy ra vào lúc 2024-03-06 07:27:55 (khoảng 1 giờ sau khi quản trị viên gọi setBurnBlock
). Sau cuộc tấn công, _burnBlock
đã được quản trị viên đặt lại về giá trị bình thường vào lúc 2024-03-06 07:38:37.
Chúng tôi vẫn chưa rõ liệu việc khai thác này có phải là một Rug Pull hay không. Tuy nhiên, việc gọi một hàm có thể thay đổi giá trị của các biến nội bộ quan trọng mà không có bất kỳ nhận thức bảo mật hoặc thông báo công khai nào cho người dùng là không nên trong mọi trường hợp.