BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%
lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
Trang chủ
AI AI
Tin nhanh
Bài viết
Sự kiện
BlockBeats Pro
Thêm
Thông tin tài chính
Chuyên đề
Hệ sinh thái chuỗi khối
Mục nhập
Podcast
Data
OPRR
Partnered With:

Tìm hiểu thêm về cuộc tấn công tái xuất hiện ERC777 của Cream.Finance

Đọc bài viết này mất 5 phút
Vào ngày 30 tháng 8, Paidun đã đưa ra cảnh báo sớm rằng Cream Finance đã phải chịu một cuộc tấn công cho vay nhanh và những kẻ tấn công đã kiếm được tổng lợi nhuận là 5890 ETH (khoảng 18,8 triệu USD) bằng cách khai thác lỗ hổng.
Tiêu đề gốc: "Sự tái xuất hiện cổ điển | Giải thích chi tiết về cuộc tấn công Reentrancy ERC777 của Cream.Finance"
Tác giả gốc: PeckShield




Ngày 30 tháng 8, Cream.Finance lại bị tấn công , PeckShield “gửi lá chắn” để đưa ra cảnh báo và định vị sớm.


Vì AMP hỗ trợ các tiêu chuẩn mã thông báo tương tự như ERC-777 và các tính năng của nó không tương thích với một số giao thức nên cuộc tấn công tái diễn vào Cream.Finance Chính lỗ hổng này đã gây ra thao túng.

Kẻ tấn công đã thực hiện tổng cộng 17 giao dịch tấn công. PeckShield mô tả ngắn gọn quá trình tấn công của một trong các giao dịch:




Đầu tiên, kẻ tấn công tạo hợp đồng tấn công A và cho vay nhanh 500 WETH từ UniSwap V2;


Ở bước thứ hai, kẻ tấn công cầm cố 500 WETH đã vay cho Cream.Finance và thu được 24.172,2 crETH;


Ở bước thứ ba, hợp đồng tấn công A sử dụng cam kết có được ở bước thứ hai để cho vay 19,48 triệu AMP thông qua hàm CErc20Delegator.borrow(). Đồng thời, lỗ hổng đăng nhập lại bị khai thác để cho mượn token crETH trước khi thông tin của người dùng được cập nhật, thu về 355 ETH.



Bước thứ tư, kẻ tấn công tạo hợp đồng tấn công B và chuyển 9,74 triệu AMP. mã thông báo được chuyển từ hợp đồng tấn công A sang hợp đồng tấn công B. Do cuộc tấn công tái nhập ở bước thứ ba, hợp đồng tấn công A đã mất khả năng thanh toán. Vì vậy, kẻ tấn công đã sử dụng 9,74 triệu AMP trong hợp đồng tấn công B để thanh lý hợp đồng tấn công A và thu được 9.068,6 crETH.


Bước thứ năm là tấn công hợp đồng B để đổi 9.068,6 crETH và thu được 187,58 ETH, lúc này số dư của hợp đồng B là 187,58 WETH;


Bước thứ sáu, hợp đồng B chuyển 187,58 WETH cho hợp đồng A và gọi hàm self-destruct(), số dư của hợp đồng A là 542,58 ETH;


Cuối cùng, kẻ tấn công đã trả lại khoản vay nhanh và kiếm được khoản lãi 18,8 triệu USD.


Phương pháp phòng vệ


Khi tiến hành trao đổi token, khoản khấu trừ đầu tiên mã thông báo của người dùng và sau đó gửi ETH cho người dùng.


Khi nhiều hợp đồng tương tác với nhau, bạn cần xem xét các rủi ro hệ thống có thể xảy ra trong danh mục kinh doanh DeFi. Nền tảng không chỉ phải đảm bảo có mã xuất sắc trước sản phẩm được đưa ra Trong quá trình kiểm tra và điều tra lỗ hổng, các vấn đề kiểm soát rủi ro hệ thống tiềm ẩn do các logic kinh doanh khác nhau cũng cần được xem xét khi kết hợp các sản phẩm khác nhau.


Liên kết gốc



Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:

Nhóm Telegram đăng ký: https://t.me/theblockbeats

Nhóm Telegram thảo luận: https://t.me/BlockBeats_App

Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia

举报 Báo lỗi/Báo cáo
Chọn thư viện
Thêm mới thư viện
Hủy
Hoàn thành
Thêm mới thư viện
Chỉ mình tôi có thể nhìn thấy
Công khai
Lưu
Báo lỗi/Báo cáo
Gửi