Beosin: Hợp đồng LibertiVault trên chuỗi Polygon bị tấn công vì lỗ hổng reentrancy
2023-07-11 10:35
Tin tức Odaily Theo giám sát của Beosin EagleEye, một công ty con của Beosin, hợp đồng LibertiVault trên chuỗi Polygon đã bị tấn công và mất khoảng 123 ETH và 56.234 USDT, trị giá khoảng 290.000 đô la Mỹ; và 35 ETH và 96.223 USDT trên chuỗi Ethereum, trị giá khoảng 16 triệu đô la Mỹ, tổng cộng hơn 450.000 đô la Mỹ. Các nhân viên kỹ thuật đã phân tích và phát hiện ra rằng cuộc tấn công này là do lỗ hổng reentrancy trong hợp đồng LibertiVault gây ra. 1. Kẻ tấn công vay 5 triệu USDT bằng cách sử dụng khoản vay nhanh và gọi chức năng gửi tiền của hợp đồng LibertiVault để cầm cố. Logic cam kết sẽ sử dụng một phần mã thông báo đã cầm cố để trao đổi, sau đó tính toán số lượng tiền đúc được. Việc tính toán dựa trên dựa trên tỷ lệ số lượng token được gửi vào số dư trước khi hợp đồng được gửi. 2. Hoạt động hoán đổi sàn giao dịch sẽ gọi đến hợp đồng của hacker, lúc này hacker nhập lại tiền gửi cuộc gọi lần đầu tiên và nhập lại chức năng này lần thứ hai, gửi 2,5 triệu USDT vào hợp đồng. 3. Sau lần nhập lại thứ hai, hợp đồng sẽ đúc tiền cho hacker theo tỷ lệ 2,5 triệu USDT trên số dư USDT của hợp đồng trước, sau khi chức năng gửi lại lần đầu hoàn tất, hacker gửi thêm 2,5 triệu USDT vào đó . 4. Tại thời điểm này, hoạt động trao đổi ở chức năng gửi tiền bên ngoài đã hoàn tất và hợp đồng sẽ đúc tiền theo tỷ lệ 2,5 triệu USDT trên số dư USDT của hợp đồng. 5. Vấn đề nằm ở điểm thứ 4. Về mặt logic, cách tính số dư hợp đồng thứ hai phải là số dư trước đó cộng với số dư 2,5 triệu được nhập lần đầu làm tham số cho phép tính này, nhưng đây là dạng Trong reentry, số dư hợp đồng đã lấy được ngay từ đầu nên các thông số không thay đổi, số dư ban đầu vẫn được dùng để tính toán, dẫn đến việc đào một số lượng lớn voucher chứng từ cho tin tặc. 6. Cuối cùng, hacker đã loại bỏ các token chứng từ và trả lại lợi nhuận cho khoản vay chớp nhoáng.
Tải ứng dụng Odaily Nhật Báo Hành Tinh
Hãy để một số người hiểu Web3.0 trước
