Inteligentne kontrakty

Dec 11 2022
Dzień 8 THM – Nadejście cyber4
To zadanie zawierało wiele teorii na temat luki w zabezpieczeniach inteligentnego kontraktu, zanim faktycznie przejdziemy do praktycznego zastosowania podstawowej luki. Chociaż jest to dość trudne do zrozumienia, jeśli nie jesteś zaznajomiony z blockchainem i inteligentnymi kontraktami, polecam krótkie przeczytanie go, aby uzyskać ogólne pojęcie o scenie na scenie.

To zadanie zawierało wiele teorii na temat luki w zabezpieczeniach inteligentnego kontraktu, zanim faktycznie przejdziemy do praktycznego zastosowania podstawowej luki.

Chociaż jest to dość trudne do zrozumienia, jeśli nie jesteś zaznajomiony z blockchainem i inteligentnymi kontraktami, polecam krótkie przeczytanie go, aby uzyskać ogólne pojęcie o scenie na scenie.

Przejdźmy do opisu wyzwań.

użyjemy Remix IDE , które oferuje bezpieczne i kontrolowane środowisko do testowania i wdrażania kontraktów tak, jakby były na publicznym blockchainie.

Pobierzmy teraz pliki i otwórzmy to IDE w naszej przeglądarce.

Kiedy po raz pierwszy otwierasz Remix, chcesz zwrócić uwagę na lewą stronę; będzie odpowiednio eksplorator plików, wyszukiwanie, kompilator Solidity i przycisk nawigacji po wdrożeniu, od góry do dołu. Spędzimy większość czasu w menu wdrażania i uruchamiania transakcji, ponieważ pozwala nam wybierać ze środowiska, konta i umowy oraz wchodzić w interakcje z umowami, które skompilowaliśmy.

Śmiało i otwórz dwa pliki pobrane w local_workspace.

następnie przejdź do obu plików i skompiluj oba pliki w kompilatorze solidity.

Następnie przejdź do wdrażania i uruchamiania transakcji oraz wybierz umowę.

Etherstore.sol będzie pierwszym, który wdrożymy. Po wdrożeniu zmień wartość na 1 i kliknij depozyt pod wdrożonymi umowami.

saldo zmieni się z 0 na 1, możesz ustawić wartość na dowolną liczbę :)

Teraz nadszedł czas, aby rozmieścić nasz atak. Przejdź do pliku ataku, a następnie wdróż i uruchom transakcje

Aby to wdrożyć, potrzebujesz adresu, przejdź do wdrożeń i skopiuj adres etherstore.
Wklej to i wdróż plik attack.sol

Zobaczysz teraz atak pod wdrożonymi kontraktami, wystarczy zmienić wartość na 1 i kliknąć „atak”

Kliknąłem trzy razy, więc otrzymałem 3 ETH jako saldo, ale wpłaciliśmy tylko 1.

Jest to luka opisana w pokoju wcześniej.

Ta sala była trochę przytłaczająca, ale w końcu dowiedzieliśmy się, jak działają inteligentne kontrakty i jak możemy wykorzystać podstawową lukę.

Od Infosec Writeups: Codziennie w Infosec pojawia się wiele rzeczy, za którymi trudno nadążyć. Dołącz do naszego cotygodniowego biuletynu , aby otrzymywać wszystkie najnowsze trendy Infosec w formie 5 artykułów, 4 wątków, 3 filmów, 2 repozytoriów GitHub i narzędzi oraz 1 powiadomienie o pracy ZA DARMO!