BSC Flash Loan Attack: The Three Copycats

Một loạt các cuộc tấn công đã gây nguy hiểm cho nhiều nhiệm vụ của Binance Smart Chain (BSC) trongMay Sau PancakeBunny, 3 nhiệm vụ fork của nó —– AutoShark, Merlin Labs và PancakeHunny —– cũng bị tấn công bằng các phương pháp tương tự. PancakeBunny phải chịu đợt tấn công đắt giá nhất trong số 4 vụ tấn công, thiệt hại tổng thể gần 45 triệu đô la. Trong bài đăng này, Tiến sĩ Chiachih Wu, Trưởng nhóm Bảo mật Blockchain của Amber Group, giải thích chi tiết về thông tin đằng sau các cuộc tấn công vào 3 kẻ sao chép.

Sao chép

AutoShark đã bị tấn công 5 ngày sau PancakeBunny, tiếp theo là Merlin Labs và PancakeHunny, tương ứng. Sau đây là phân tích các vấn đề và các phương pháp tấn công có thể xảy ra đối với 3 nhiệm vụ được chia nhỏ này.

Trong hàm SharkMinter.mintFor (), số lượng mã thông báo SHARK thỏa mãn sẽ được đúc (ví dụ: mintShark) được tính từ số tiền sharkBNBA được tính bằng tokenTo SharkBNB () ở dòng 1494. Tuy nhiên, tokenTo SharkBNB () đề cập đến số dư hiện tại của lật, điều đó làm cho nó trở thành một điểm nhạy cảm. Người ta có thể cho rằng số lượng mã thông báo nhận được ở dòng 1492 tương đương với số lượng của số dư lật. Tuy nhiên, một ngôi sao xấu có thể kiểm soát số dư lật đơn thuần bằng cách gửi đi một số mã thông báo lật ngay trước lệnh gọi getReward () và gián tiếp phá vỡ lý luận của tokenTo SharkBNB ().

Trong ứng dụng cơ bản của tokenTo SharkBNB (), có '& rsquo; một khu vực bề mặt tấn công khác. Như được hiển thị trong bit mã ở trên, _ flipTo SharkBNBFlip () loại bỏ tính thanh khoản khỏi ApeSwap (dòng 1243) hoặc PantherSwap (dòng 1262) và chuyển đổi mã thông báo LP thành SHARK + WBNB. Sau đó, createFlipTo ken () được gợi ý để chuyển đổi SHARK + WBNB thành mã thông báo SHARK-BNB LP.

Nhận 110 USDT Tiền thưởng tương lai hoàn toàn miễn phí!

Bên trong createFlipTo ken (), số dư SHARK và WBNB hiện tại của SharkMinter (số tiền mong muốn, số tiền mong muốn) được sử dụng để sản xuất mã thông báo LP và số lượng mã thông báo LP được chuyển trở lại mintFor () dưới dạng sharkBNBAmount.

Trên đó,

So sánh ngôi sao xấu có thể di chuyển SHARK + WBNB vào SharkMinter để kiểm soát số lượng mã thông báo SHARK sẽ được đúc. Lỗ hổng của Phòng thí nghiệmerlin trong PancakeHunny tương ứng được phát hiện trong AutoShark, vì sao xấu có thể kiểm soát việc đúc lợi ích HUNNY bằng mã thông báo HUNNY và WBNB.

Đối với AutoShark và PancakeHunny, Tuy nhiên '& rsquo; _ getReward () có một lỗ hổng rõ ràng hơn.

Ngay cả bit mã phía trên các chương trình mà performanceFee có thể được kiểm soát bởi số dư của CAKE, điều này gián tiếp tác động đến việc đúc lợi ích MERL.

Sao chép lại, công cụ sửa đổi nonContract loại bỏ các khoản vay flash.

Nếu không có thỏa thuận, ngôi sao xấu vẫn có thể hưởng lợi thông qua một số cuộc gọi. Cụ thể là AutoShark Sau này tái tạo bản hack AutoShark, ban đầu chúng tôi yêu cầu nhận được một số mã thông báo SHARK-BNB-LP từ PantherSwap. , chúng tôi chuyển 0.5 WBNB thành SHARK (dòng 58) và chuyển phần WBNB còn lại với các mã SHARK đó vào PantherSwap để đúc mã thông báo SHARK-BNB-LP (dòng 64). Lưu ý trên,

Đọc bài viết:  Cảnh báo vấn đề của cảnh sát tình báo Sunacrip và Venezuela về lừa đảo tiền điện tử

Chúng tôi chuyển các mã thông báo LP đó vào AutoShark '& rsquo; s Thỏa thuận StrategyCompoundFLIP (dòng 69) để nhận trợ cấp. rằng chúng tôi cố tình chỉ gửi một nửa số mã thông báo LP ở dòng 69. Trong hành động thứ 2 là làm cho getReward () tham gia vào thỏa thuận SharkMinter Bên cạnh đó Đối với bit mã ở trên, chúng tôi hiểu rằng phần thưởng có thể được phục hồi bằng hàm made () (dòng 1658 ).

Do đó, 30% lợi ích (tức là performanceFee) cần phải cao hơn 1,000 (tức là DUST) để kích hoạt SharkMinter.mintFor () trong dòng 1668. thỏa thuận StrategyCompoundFLIP ở dòng 76 để bỏ qua performanceFee>> Kiểm tra DUST và kích hoạt bạc hà

Trong () cuộc gọi.

Chúng tôi yêu cầu rất nhiều WBNB + SHARK để kiểm soát SharkMinter, chúng tôi sử dụng PantherSwap '& rsquo; s 100k WBNB bằng phương thức hoán đổi flash sử dụng dòng 81.

Lệnh gọi lại hoán đổi flash, pancakeCall (), chúng tôi trao đổi một nửa WBNB thành SHARK và gửi SHARK với 50,000 WBNB còn lại tới thỏa thuận SharkMinter để kiểm soát việc khai thác lợi ích.

Trong hành động tiếp theo là kích hoạt getReward () khi SharkMinter nhận được mã thông báo WBNB + SHARK để đúc một lượng lớn SHARK cho người gọi. Với hành động cuối cùng là chuyển SHARK thành WBNB, thanh toán khoản vay nhanh và giành được các mã thông báo WBNB ở lại .

Sao chép lại thí nghiệm của chúng tôi, ngôi sao xấu bắt đầu bằng 1 WBNB. Tấn công

Với sự hỗ trợ của các khoản vay nhanh, anh ta kiếm tiền từ hơn 1,000 WBNB được trả lại trong một giao dịch.Trong PancakeHunny Tuy nhiên, lý thuyết đằng sau cuộc tấn công PancakeHunny giống với cuộc tấn công AutoShark. Vì vậy, ngắn gọn, chúng tôi yêu cầu gửi một lượng lớn HUNNY + WBNB tới HunnyMinter trước khi thiết lập getReward ().

Đối với thỏa thuận mã thông báo HUNNY có một hệ thống bảo mật được gọi là antiWhale để tránh chuyển số lượng lớn.

Ở đây, các khoản vay nhanh không hoạt động ở đây.Bằng cách bỏ qua antiWhale, chúng tôi phát triển một số thỏa thuận trẻ em và bắt đầu một số lệnh gọi CakeFlipVault.deposit () bằng các thỏa thuận đã nêu. được chia thành 116 phần và chuyển đến 10

Các thỏa thuận Inside Lib ở dòng 122 tiếp theo là

Sau khi chuẩn bị () yêu cầu từng người trong số họ. Chuẩn bị (), chúng tôi cho phép () CakeFlipVault đầu tư các mã thông báo LP và gợi ý CakeFlipVault.deposit () để có thể sử dụng getReward () sau này yêu cầu đúc các mã thông báo HUNNY thỏa mãn.

Khi chuẩn bị các thỏa thuận 10 Lib, thỏa thuận chính lặp lại từng thỏa thuận để: 1) hoán đổi WBNB thành số lượng HUNNY tối ưu cho phép; 2) chuyển WBNB + HUNNY sang HunnyMinter; 3) kích hoạt getReward () bằng lib.trigger (); và 4) hoán đổi HUNNY trở lại WBNB.

Tái tạo Merlin Labs Attack

Khi hoàn thành, ngôi sao xấu với 10 WBNB tạo ra khoảng 200 WBNB từ 10 lần vận hành của 10 hoạt động thỏa thuận Merlin Labs.Tuy nhiên đã chỉ ra trước đây, Tài khoản được sở hữu bên ngoài có công cụ sửa đổi noContract để loại bỏ các cuộc tấn công cho vay nhanh. Chúng tôi có thể sử dụng một tập lệnh để kích hoạt cuộc tấn công với một số giao dịch bắt đầu từ EOA (

Đọc bài viết:  Phí đốt cháy Ethereum đạt 100 triệu đô la, đây là lý do tại sao việc đốt cháy lại quan trọng

Tương tự) địa chỉ.

Sự khác biệt duy nhất là ai đó có thể chạy trước ngôi sao xấu '& rsquo; s thỏa thuận để có thu nhập.

  1. Chuyển sang cuộc tấn công AutoShark, chúng tôi yêu cầu chuẩn bị đủ LINK và WBNB (dòng 23), sử dụng chúng để đúc mã thông báo WBNB-LINK-LP (dòng 34) và gửi mã thông báo LP vào thỏa thuận VaultFlipCake (dòng 38).
  2. Thao tác các hành động ở lại là: To WBNB to CAKE (dòng 42).
  3. Kích hoạt đúc MERL bằng cách gửi CAKE đến VaultFlip
  4. Thỏa thuận trao đổi bánh (dòng 50).

Như getReward () ở dòng 55 (một lượng lớn mã thông báo MERL được đúc).

Trong MERL trở lại WBNB và nhân bản các thao tác trên nhiều lần.

Về nhóm Amber

Nhóm Amber đã chỉ ra trước đây, nếu ai đó phía trước chạy hành động 3 ngay sau hành động 2, cá nhân đó có thể loại bỏ một lượng lớn MERL. Thử nghiệm của chúng tôi tại Hồng Kông, ngôi sao xấu bắt đầu với 10 WBNB và rời đi với khoảng 165 WBNB bằng cách nhân đôi 4 hành động 10 lần.Taipei là nhà cung cấp tài chính tiền điện tử hàng đầu thế giới hoạt động trên toàn cầu và mọi lúc với sự tồn tại ở Seoul, Vancouver, Được thành lập và Nhóm thành viên Vào năm 2017, Amber Group phục vụ hơn 500 khách hàng tổ chức và thực sự đã giao dịch tích lũy qua 500 tỷ đô la trên hơn 100 sàn giao dịch điện tử, với hơn 1.5 tỷ đô la tài sản được quản lý. Sê-ri năm 2021, với số tiền huy động được 100 triệu đô la

B tài trợ và cuối cùng trở thành kỳ lân FinTech hiện tại được định giá hơn 1 tỷ đô la. (*) để biết thêm chi tiết, vui lòng xem tại www.ambergroup.io. (*)

Mọi nhà giao dịch giao dịch tiền điện tử trên sàn giao dịch Binance đều muốn biết về pumpnhập vào giá trị của tiền xu để kiếm lợi nhuận khổng lồ trong một khoảng thời gian ngắn.
Bài viết này có hướng dẫn về cách tìm hiểu khi nào và đồng xu nào sẽ tham gia vào “Pump”. Mỗi ngày, cộng đồng trên Kênh Telegram Crypto Pump Signals for Binance Tín hiệu cho Binance công bố 1-2 tín hiệu miễn phí về “Pump”Và báo cáo về thành công“Pumps ”đã được hoàn thành xuất sắc bởi ban tổ chức của cộng đồng VIP.
Các tín hiệu giao dịch này giúp kiếm được lợi nhuận từ 20% đến 150% chỉ trong vài giờ sau khi mua các đồng tiền được công bố trên kênh Telegram “Crypto Pump Signals for Binance Tín hiệu cho Binance ”. Bạn đã kiếm được lợi nhuận bằng cách sử dụng các tín hiệu giao dịch này chưa? Nếu không, sau đó thử nó! Chúng tôi chúc bạn may mắn khi giao dịch tiền điện tử và mong muốn nhận được lợi nhuận như những người dùng VIP của Crypto Pump Signals for Binance Tín hiệu cho kênh Binance. Có thể xem các ví dụ trên trang này!
John Lesley/ tác giả của bài báo

John Lesley là một nhà giao dịch giàu kinh nghiệm chuyên về phân tích kỹ thuật và dự báo thị trường tiền điện tử. Anh ấy có hơn 10 năm kinh nghiệm với nhiều loại thị trường và tài sản - tiền tệ, chỉ số và hàng hóa.John là tác giả của các chủ đề phổ biến trên các diễn đàn lớn với hàng triệu lượt xem và vừa là nhà phân tích vừa là nhà giao dịch chuyên nghiệp cho cả khách hàng và bản thân anh ấy.