BSC Flash Loan Attack: trzy kopie

Seria ataków zagroziła licznym zadaniom Binance Smart Chain (BSC) w maju Po PancakeBunny, jego 3 zadania rozwidlenia – AutoShark, Merlin Labs i PancakeHunny – również zostały zaatakowane przy użyciu porównywalnych metod. PancakeBunny doznał najdroższego ataku z 4, który odnotował prawie 45 mln USD ogólnych szkód. W tym poście dr Chiachih Wu, szef zespołu Amber Group Blockchain Security Team, omawia informacje stojące za atakami na 3 naśladowców.

Kopie

AutoShark został zaatakowany 5 dni po PancakeBunny, a następnie odpowiednio Merlin Labs i PancakeHunny. Poniżej znajduje się analiza problemów i możliwych metod ataku dla tych 3 rozwidlonych zadań.

W funkcji SharkMinter.mintFor() ilość satysfakcjonujących tokenów SHARK do wybicia (tj. mintShark) pochodzi od sharkBNBAmount obliczonej przez tokenTo SharkBNB() w wierszu 1494. Jednak tokenTo SharkBNB() odwołuje się do obecnego salda flipów, to sprawia, że ​​jest to podatny punkt. Można by przypuszczać, że ilość żetonów otrzymanych w wierszu 1492 równa się ilości salda rzutu. Mimo to, zła gwiazda może kontrolować saldo flip po prostu wysyłając kilka tokenów flip tuż przed wywołaniem getReward() i pośrednio łamiąc rozumowanie tokenTo SharkBNB().

W podstawowej aplikacji tokenTo SharkBNB() istnieje& rsquo; s kolejny obszar powierzchni ataku. Jak pokazano w powyższym bicie kodu, _ flipTo SharkBNBFlip() usuwa płynność z ApeSwap (wiersz 1243) lub PantherSwap (wiersz 1262) i przekształca tokeny LP w SHARK+WBNB. Później wywoływana jest metoda generateFlipTo ken(), aby przekształcić SHARK+WBNB w tokeny SHARK-BNB LP.

Zdobądź bonus 110 USDT Futures całkowicie za darmo!

Wewnątrz generateFlipTo ken(), obecne salda SHARK i WBNB SharkMinter (kwotaADesired, ilośćBdesired) są wykorzystywane do wyprodukowania tokenów LP, a ilość tokenów LP wraca do mintFor() jako sharkBNBAmount.

Na tym,

W porównaniu zła gwiazda może przenieść SHARK + WBNB do SharkMinter, aby kontrolować liczbę tokenów SHARK do wybicia. Luka Merlin Labs w PancakeHunny odpowiada tej odkrytej w AutoShark, ponieważ zła gwiazda może kontrolować wybijanie korzyści przez HUNNY za pomocą tokenów HUNNY i WBNB.

Do AutoShark i PancakeHunny, jednak” & rsquo; _ getReward() ma bardziej widoczną lukę.

Nawet kod nieco powyżej programów, że performanceFee może być kontrolowany przez saldo CAKE, co pośrednio wpływa na wybijanie korzyści MERL.

Odtwarzając modyfikator nonContract eliminuje pożyczki flash.Atak

Aby bez zgody, zła gwiazda nadal mogła skorzystać z kilku wywołań. W szczególności AutoShark Później replikujemy hack AutoShark, musimy początkowo uzyskać kilka tokenów SHARK-BNB-LP z PantherSwap. , przełączamy 0.5 WBNB na SHARK (linia 58) i przenosimy resztę WBNB z tymi tokenami SHARK do PantherSwap w celu wybicia tokenów SHARK-BNB-LP (linia 64). Uwaga na,

Przeczytaj artykuł:  Moskwa nie planuje zakazać Rosjanom kupowania kryptowalut za granicą

Przenosimy te tokeny LP do AutoShark'& rsquo; s Umowa StrategyCompoundFLIP (linia 69) na otrzymywanie świadczeń. że celowo deponujemy tylko połowę tokenów LP w wierszu 69. W drugim działaniu jest zmuszenie getReward() do zawarcia umowy SharkMinter. Poza tym dla powyższego bitu kodu rozumiemy, że nagrodę można odzyskać za pomocą funkcji made() (wiersz 2 ).

Dlatego 30% korzyści (tj. PerformanceFee) musi być wyższe niż 1,000 (tj. DUST), aby aktywować SharkMinter.mintFor() w wierszu 1668. Ponieważ w naszym korzystaniu z kodu przenosimy niektóre tokeny LP do umowa StrategyCompoundFLIP w linii 76, aby ominąć opłatę za wyniki > > Sprawdź KURZ i aktywuj mennicę

Wywołanie In().

Ponieważ potrzebujemy dużej ilości WBNB + SHARK do kontrolowania SharkMinter, używamy PantherSwap'& rsquo; s 100k WBNB za pomocą flash-swap wykorzystuje linię 81.

Wywołanie zwrotne flash-swap, pancakeCall(), wymieniamy połowę WBNB na SHARK i wysyłamy SHARK z pozostałymi 50,000 XNUMX WBNB do umowy SharkMinter, aby kontrolować wybijanie korzyści.

W następnej akcji należy aktywować getReward(), gdy SharkMinter zdobędzie tokeny WBNB+SHARK, aby wybić dużą ilość SHARK dla dzwoniącego. Ostatnią akcją jest przekształcenie SHARK w WBNB, spłata pożyczki flash i wygranie pozostałych tokenów WBNB .

Odwzorowując nasz eksperyment, zła gwiazda zaczyna się od 1 WBNB. Atak

Dzięki pomocy pożyczek flash, zarabia pieniądze z ponad 1,000 WBNB zwracanych w jednej transakcji. W PancakeHunny Jednak teoria stojąca za atakiem PancakeHunny przypomina atak AutoShark. Krótko mówiąc, musimy wysłać dużo HUNNY+WBNB do HunnyMinter przed uruchomieniem getReward().

Umowa tokenów HUNNY ma system bezpieczeństwa o nazwie antiWhale, aby uniknąć dużych transferów.

W tym przypadku pożyczki flash nie działają. Lib omija antiWhale, opracowujemy kilka umów dla dzieci i uruchamiamy kilka wywołań CakeFlipVault.deposit() za pomocą określonych umów. Lib powyżej wykorzystuje bit kodu, tokeny LP zebrane w wierszu 116 są podzielone na 10 części i przeniesione do 10

Umowy Inside Lib w wierszu 122, a następnie

Po tym, jak przygotowanie() wymaga każdego z nich.Lib Prepare(), autoryzujemy() CakeFlipVault do zainwestowania tokenów LP i wyczarowanie CakeFlipVault.deposit(), aby umożliwić późniejsze getReward() wybicie spełniających tokeny HUNNY.

Przygotowując 10 umów Lib, umowa podstawowa powtarza każdą z nich, aby: 1) zamienić WBNB na optymalną dozwoloną ilość HUNNY; 2) przeniesienie WBNB+HUNNY do HunnyMinter; 3) aktywuj getReward() za pomocą lib.trigger(); i 4) zamień HUNNY z powrotem na WBNB.

Odtworzenie ataku Merlin Labs

Jako zakończenie, zła gwiazda z 10 WBNB tworzy około 200 WBNB z 10 przebiegów 10 operacji z umowami Merlin Labs. Jednak wcześniej wskazano, że konto zewnętrzne posiada modyfikator noContract w celu wyeliminowania ataków pożyczek flash. Możemy użyć skryptu do aktywacji ataku z kilkoma transakcjami rozpoczętymi od EOA (

Przeczytaj artykuł:  Tether zapewnia audyt w „miesiącach”, ponieważ Paxos deklaruje, że USDT nie jest prawdziwym stablecoinem

Podobny) adres.

Jedyne rozróżnienie polega na tym, że ktoś może wyprzedzić złą gwiazdę'& rsquo; s zabierać zarobki.

  1. Przechodząc na atak AutoShark, musimy przygotować wystarczającą ilość LINK i WBNB (wiersz 23), wykorzystać je do wybicia tokenów WBNB-LINK-LP (wiersz 34) i zdeponować tokeny LP w umowie VaultFlipCake (wiersz 38).
  2. Manipulowanie działaniami pozostającymi to: Do ​​WBNB do CAKE (linia 42).
  3. Uruchamianie wybijania MERL poprzez wysłanie CAKE do VaultFlip
  4. Umowa Swapping Cake (wiersz 50).

Jak getReward() w linii 55 (wybijana jest duża ilość tokenów MERL).

W MERL powrót do WBNB i kilkukrotne powielanie powyższych działań.

O Grupie Bursztynowej

Amber Group zauważyła wcześniej, że jeśli ktoś z przodu wykona akcję 3 zaraz po akcji 2, może pozbyć się dużej ilości MERL.Hongkong nasz eksperyment, zła gwiazda zaczyna się od 10 WBNB i wychodzi z około 165 WBNB przez zduplikowanie 4 działania 10 razy. Tajpej jest wiodącym światowym dostawcą finansowania kryptowalut, działającym na całym świecie i przez cały czas z siedzibą w Seulu, Vancouver, założonym i Amber Group W 2017 r. Amber Group obsługuje ponad 500 klientów instytucjonalnych i faktycznie sprzedała ponad 500 miliardów dolarów na ponad 100 giełdach elektronicznych, z ponad 1.5 miliarda dolarów w posiadaniu w zarządzaniu. Seria 2021, za zebrane 100 milionów dolarów w

Finansowanie B i skończyło się na tym, że był obecnym jednorożcem FinTech o wartości ponad 1 miliarda dolarów. (*) więcej szczegółów na www.ambergroup.io.(*)

Każdy trader, który handluje kryptowalutą na giełdzie Binance, chce wiedzieć o nadchodzących wydarzeniach pumppodnoszenie wartości monet w celu osiągnięcia ogromnych zysków w krótkim czasie.
Ten artykuł zawiera instrukcje jak dowiedzieć się, kiedy i jaka moneta weźmie udział w kolejnym „Pump”. Każdego dnia społeczność na Kanał telegramu Crypto Pump Signals for Binance Sygnały dla Binance publikuje 1-2 darmowe sygnały o nadchodzących „Pump” i raporty o udanych”Pumps”, które z sukcesem zrealizowali organizatorzy społeczności VIP.
Te sygnały transakcyjne pomagają zarobić od 20% do 150% zysku w ciągu zaledwie kilku godzin po zakupie monet opublikowanych w kanale Telegram ”Crypto Pump Signals for Binance Sygnały dla Binance”. Czy już zarabiasz na tych sygnałach transakcyjnych? Jeśli nie, spróbuj! Życzymy powodzenia w handlu kryptowalutami i chcemy otrzymać taki sam zysk, jak użytkownicy VIP Crypto Pump Signals for Binance Sygnały dla kanału Binance. Przykłady można zobaczyć na tej stronie!
John Lesley/ autor artykułu

John Lesley to doświadczony trader specjalizujący się w analizie technicznej i prognozowaniu rynku kryptowalut. Ma ponad 10-letnie doświadczenie z szeroką gamą rynków i aktywów - walut, indeksów i towarów.John jest autorem popularnych tematów na głównych forach z milionami wyświetleń i pracuje zarówno jako analityk, jak i profesjonalny trader zarówno dla klientów, jak i samego siebie.

Dodaj komentarz