Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
GOATCasino — Это намеренно уязвимый Truffle-деплой смарт-контрактов, предназначенный для того, чтобы позволить тем, кто интересуется безопасностью смарт-контрактов, эксплуатировать самые разные уязвимости в безопасной среде. | Kitploit
Инструменты/GitHubGitHub/nccgroup/goatcasino
Анализ уязвимостейАнализ КодаЭксплуатацияCTFОбучение и ОбразованиеЛаборатории и Практика
GitHubnccgroup/goatcasino

GOATCasino

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

Репозиторий
120287 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Добро пожаловать в GOAT Casino!

Испытайте удачу (или навыки) в различных играх казино, чтобы выиграть сказочные токены и призы!

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

Для начала:

  1. Установите зависимости

    1. Последнюю версию node
    2. sudo apt install npm
    3. sudo npm install -g truffle ganache-cli
  2. Запустите ./start_challenge.sh, чтобы запустить testrpc, развернуть казино в вашей локальной тестовой сети и начать симуляцию других игроков

  3. Изучите код в каталоге contracts/, чтобы найти уязвимости

  4. Создайте proof-of-concept скрипты, чтобы получить как можно больше CasinoTokens! (если застряли, посмотрите на скрипты симулированных пользователей в каталоге exec/simuilated-users/, чтобы понять, как взаимодействовать с контрактами)

Правила:

  1. Выполняйте действия только от имени «атакующего» (attacker), который является первым аккаунтом в testrpc. Я упростил задачу, потому что это аккаунт, который truffle будет использовать по умолчанию, но если вы хотите быть уверены, что делаете правильно, можете использовать библиотеку GOATlib/GOATConfig.js и использовать GOATConfig.accounts.attacker для всех своих вызовов. Я знаю, что у вас есть доступ к фактическим аккаунтам владельцев и других игроков, поскольку всё работает на testrpc, и меня не впечатляет ваш скрипт, который перебирает аккаунты и вызывает transfer.
  2. Вы можете менять контракты/код развёртывания/симулированных пользователей как угодно для целей отладки, но имейте в виду, что ваши решения в итоге должны работать с неизменённым кодом.

Структура каталога:

  • GOATlib/: Библиотека с кодом, используемым различными JavaScript-файлами.
  • build/: Каталог, который Truffle создаёт при компиляции проекта. Он содержит информацию обо всех контрактах проекта, включая скомпилированный байт-код и адреса развёрнутых контрактов.
  • contracts/: Код смарт-контрактов.
  • exec/simulated-users/: Скрипты, управляющие симулированными игроками, которые играют в различные игры.
  • exec/examples: Примеры скриптов, на которые вы можете опираться при создании эксплойтов.
  • migrations/: Скрипты, выполняемые truffle для развёртывания. Они выполняются в алфавитном порядке и могут дать представление о том, как инициализируются контракты и как они связаны друг с другом.

Описания контрактов

Все игры в GOATCasino используют токен, совместимый с ERC20, который определён в файле CasinoToken.sol. CasinoToken использует некоторые широко распространённые контракты Zeppelin для реализации большей части стандартной функциональности токена. Вы можете использовать контракт, определённый в CasinoExchange.sol, для покупки и продажи CasinoTokens в обмен на эфир.

Файл Faucet.sol определяет контракт, который можно использовать один раз на пользователя, чтобы получить бесплатный запас CasinoTokens для опробования игр.

Контракт Vault.sol хранит резерв средств для доступа владельца. Равные доли средств хранилища защищены отдельными методами контроля доступа, чтобы лучше защитить средства, если один из методов окажется недостаточным.

Наконец, единственная игра в казино на данный момент — это лотерея. Пользователи могут покупать билеты с номерами от 0 до 255. Каждую минуту пользователь может вызвать функцию checkWin, чтобы сгенерировать номер выигрышного билета, выплатить победителю призовые деньги (за вычетом комиссии казино) и начать новый раунд, очистив купленные билеты. Если никто не купил выигрышный билет, раунд продолжается ещё минуту для покупок, прежде чем можно будет выбрать новый выигрышный билет.

Скачать инструмент