

lời tựa
Biết rằng Phòng thí nghiệm bảo mật chuỗi khối Chuangyu đã theo dõi và phân tích sự cố này lần đầu tiên.
Biết rằng Phòng thí nghiệm bảo mật chuỗi khối Chuangyu đã theo dõi và phân tích sự cố này lần đầu tiên.
thông tin cơ bản
thông tin cơ bản
Địa chỉ kẻ tấn công: 0x9dadbd8c507c6acbf1c555ff270d8d6ea855178e
tx:0x9b16b1b3bf587db1257c06bebd810b4ae364aab42510d0d2eb560c2565bbe7b4
Hợp đồng CommunityFund: 0xEca7fC4c554086198dEEbCaff6C90D368dC327e0
phân tích lỗ hổng
phân tích lỗ hổng
Mấu chốt của lỗ hổng nằm ở chỗ phương thức ElementAndReinvestFromPancakePool trong hợp đồng CommunityFund sẽ đánh giá lượng WBNB được trao đổi khi sử dụng token Cake để chuyển đổi token và sẽ tự động đổi một nửa số WBNB được trao đổi lấy token BDO; và sau đó hợp đồng sẽ tự động sử dụng hợp đồng WBNB trong nhóm bổ sung tính thanh khoản cho nhóm. Nếu giá trị của mã thông báo BDO được tăng lên một cách ác ý vào thời điểm này, điều này sẽ khiến phía dự án sử dụng nhiều WBNB hơn để bổ sung tính thanh khoản cho nhóm.
Điều quan trọng nhất là trước cuộc tấn công, kẻ tấn công đã trao đổi một số lượng lớn mã thông báo BDO trong nhóm WBNB/BDO, Cake/BDO và BUSD/BDO, khiến giá BDO tăng lên.
Sau khi chúng tôi phân tích giao dịch tấn công nhiều lần, chúng tôi phát hiện ra rằng vấn đề không đơn giản như vậy, cuộc tấn công rất có thể là do robot đánh phủ đầu, cơ sở như sau:
1. Phí gas cho giao dịch tấn công này cao hơn nhiều so với giao dịch thông thường trên chuỗi BSC, phí gas mặc định cho các giao dịch thông thường trên chuỗi BSC là 5Gwei, nhưng giao dịch này cao tới 2000Gwei.
3. Chúng tôi đã tìm thấy địa chỉ và giao dịch của kẻ tấn công thực sự trong cùng một khối và giao dịch đã được khôi phục.
quá trình tấn công
quá trình tấn công
1. Kẻ tấn công đã sử dụng khoản vay flash để cho vay 670 WBNB;
2. Sau đó, kẻ tấn công đã trao đổi WBNB để lấy một số lượng lớn mã thông báo BDO trong các nhóm khác nhau;
3. Sau đó, kẻ tấn công lại sử dụng khoản vay nhanh để cho vay 30516 token Cake;
4. Trao đổi mã thông báo Cake đã cho vay để đổi lấy 400WBNB, 200 trong số đó sẽ được tự động đổi lấy mã thông báo BDO theo thỏa thuận;
6. Cuối cùng, kẻ tấn công đã đổi 3.228.234 mã thông báo BDO được đánh giá cao để lấy 3.020 WBNB, hoàn trả 671 khoản vay flash và phân xử thành công 2.381 WBNB trị giá khoảng 730.000 đô la.
tóm tắt
tóm tắt
Cốt lõi của cuộc tấn công này là hợp đồng sẽ tự động bổ sung thanh khoản cho nhóm thanh khoản mà không cần xem xét liệu giá của mã thông báo có bị mất cân bằng hay không, điều này có thể dẫn đến việc bên dự án bổ sung thanh khoản với giá cao và nhận lệnh với giá cao. .
Bên dự án nên chú ý hơn đến việc triển khai logic của chức năng khi viết dự án và xem xét các tình huống tấn công khác nhau có thể gặp phải.
