Смарт-контракты

Dec 11 2022
День 8 THM-Пришествие кибер 4
В этом задании было много теории об уязвимости смарт-контракта, прежде чем мы приступим к практическому применению базовой уязвимости. Хотя это довольно сложно понять, если вы не знакомы с блокчейном и смарт-контрактами, я рекомендую вам кратко прочитать его, чтобы получить общее представление о том, что происходит на сцене.

В этом задании было много теории об уязвимости смарт-контракта, прежде чем мы приступим к практическому применению базовой уязвимости.

Хотя это довольно сложно понять, если вы не знакомы с блокчейном и смарт-контрактами, я рекомендую вам кратко прочитать его, чтобы получить общее представление о том, что происходит на сцене.

Давайте перейдем к прохождению испытаний.

мы будем использовать Remix IDE , которая предлагает безопасную и контролируемую среду для тестирования и развертывания контрактов, как если бы они находились в общедоступной цепочке блоков.

Давайте теперь загрузим файлы и откроем эту IDE в нашем браузере.

Когда вы впервые открываете Remix, вы хотите обратить внимание на левую сторону; там будет файловый менеджер, поиск, компилятор Solidity и кнопка навигации по развертыванию, соответственно, сверху вниз. Мы будем проводить большую часть нашего времени в меню развертывания и запуска транзакций, поскольку оно позволяет нам выбирать из среды, учетной записи и контракта и взаимодействовать с скомпилированными контрактами.

Идите вперед и откройте два файла, которые вы скачали в local_workspace.

после этого перейдите к обоим файлам и скомпилируйте оба файла под компилятором Solidity.

После этого перейдите к развертыванию и запуску транзакций и выберите контракт.

etherstore.sol будет первым, что мы собираемся развернуть. После развертывания измените значение на 1 и нажмите на депозит под развернутыми контрактами.

баланс изменится с 0 на 1, вы можете установить значение на любое число, которое хотите :)

Теперь пришло время развернуть нашу атаку. Перейдите к файлу атаки, а затем разверните и запустите транзакции.

Чтобы развернуть это, вам нужен адрес, перейдите к развертываниям и скопируйте адрес etherstore.
Вставьте это и разверните файл attack.sol.

Теперь вы увидите атаку по развернутым контрактам, все, что вам нужно сделать, это изменить значение на 1 и нажать «Атака».

Я щелкнул по нему три раза, так что я получил 3ETH в качестве баланса, но мы внесли только 1.

Это уязвимость, описанная в комнате ранее.

Эта комната была немного ошеломляющей, но мы, наконец, получили представление о том, как работают смарт-контракты и как мы можем использовать базовую уязвимость.

Из статей Infosec: Каждый день в Infosec появляется много информации, за которой трудно уследить. Подпишитесь на наш еженедельный информационный бюллетень , чтобы БЕСПЛАТНО получать все последние тенденции информационной безопасности в виде 5 статей, 4 тем, 3 видео, 2 репозиториев и инструментов GitHub и 1 оповещения о вакансиях!