Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
GOATCasino — 이것은 스마트 계약 보안에 관심이 있는 사람들이 안전한 환경에서 다양한 문제를 악용할 수 있도록 설계된, 의도적으로 취약하게 만든 스마트 계약 Truffle 배포입니다. | Kitploit
도구/GitHubGitHub/nccgroup/goatcasino
Vulnerability AnalysisCode AnalysisExploitationCTFLearning & EducationLabs & Practice
GitHubnccgroup/goatcasino

GOATCasino

이것은 스마트 계약 보안에 관심이 있는 사람들이 안전한 환경에서 다양한 문제를 악용할 수 있도록 설계된, 의도적으로 취약하게 만든 스마트 계약 Truffle 배포입니다.

저장소 보기
120287년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

GOAT 카지노에 오신 것을 환영합니다!

카지노의 다양한 게임에서 행운(또는 실력)을 시험해 멋진 토큰과 상품을 획득하세요!

현재 개발 중이므로 지금은 게임 수가 실망스러울 수 있지만, 앞으로 더 많은 게임이 추가될 예정이며, 그동안 악용할 거리가 많습니다.

시작하기:

  1. 의존성 설치

    1. 최신 버전의 node
    2. sudo apt install npm
    3. sudo npm install -g truffle ganache-cli
  2. ./start_challenge.sh를 실행하여 testrpc를 시작하고, 카지노를 로컬 테스트넷에 배포하고, 다른 플레이어 시뮬레이션을 시작하세요

  3. contracts/ 디렉터리의 코드를 검토하여 취약점을 찾으세요

  4. 가능한 한 많은 CasinoTokens를 획득하기 위한 개념 증명(PoC) 스크립트를 만드세요! (막히면 exec/simuilated-users/ 디렉터리의 시뮬레이션 사용자 스크립트를 참고하여 계약과 상호작용하는 방법을 파악하세요)

규칙:

  1. testrpc의 첫 번째 계정인 "attacker"로만 작업을 수행하세요. 기본적으로 truffle이 사용하는 계정이기 때문에 쉽게 접근할 수 있게 해 두었습니다. 하지만 확실히 하려면 GOATlib/GOATConfig.js의 라이브러리를 사용하여 모든 호출에 GOATConfig.accounts.attacker를 사용할 수 있습니다. testrpc 환경이므로 실제 소유자 계정과 다른 플레이어 계정에 접근할 수 있다는 것을 알고 있으며, 계정을 순환하며 transfer를 호출하는 스크립트는 그다지 인상적이지 않습니다.
  2. 디버깅 목적으로 계약/배포 코드/시뮬레이션 사용자를 원하는 만큼 변경할 수 있지만, 최종적으로는 수정되지 않은 코드에서도 솔루션이 작동해야 한다는 점을 명심하세요.

디렉터리 구조:

  • GOATlib/: 다양한 JavaScript 파일에서 사용하는 코드가 포함된 라이브러리.
  • build/: Truffle이 프로젝트를 컴파일할 때 생성하는 디렉터리. 컴파일된 바이트코드와 배포된 계약의 주소를 포함하여 프로젝트의 모든 계약에 대한 정보가 포함되어 있습니다.
  • contracts/: 스마트 계약 코드.
  • exec/simulated-users/: 다양한 게임을 플레이하는 시뮬레이션 도박꾼을 제어하는 스크립트.
  • exec/examples: 익스플로잇을 구축할 때 참조할 수 있는 예제 스크립트.
  • migrations/: 배포를 위해 truffle이 실행하는 스크립트. 알파벳 순서로 실행되며 계약이 어떻게 초기화되고 서로 어떻게 연결되는지에 대한 통찰력을 제공할 수 있습니다.

계약 설명

GOATCasino의 모든 게임은 CasinoToken.sol 파일에 정의된 ERC20 호환 토큰을 사용합니다. CasinoToken은 토큰의 표준 기능 대부분을 구현하기 위해 널리 사용되는 zeppelin 계약을 활용합니다. CasinoExchange.sol에 정의된 계약을 사용하여 이더와 교환으로 CasinoTokens를 사고팔 수 있습니다.

Faucet.sol 파일은 사용자당 한 번 사용하여 게임을 시험해 볼 수 있는 무료 CasinoTokens를 제공받을 수 있는 계약을 정의합니다.

Vault.sol 계약은 소유자가 접근할 수 있도록 자금의 준비금을 보유합니다. 볼트의 자금은 동일한 비율로 나뉘어 각각 별도의 접근 제어 방식으로 보호되므로, 한 가지 방식이 충분하지 않은 것으로 판명되더라도 자금을 더 잘 보호할 수 있습니다.

마지막으로, 현재 카지노에 있는 유일한 게임은 복권입니다. 사용자는 0부터 255까지의 숫자로 티켓을 구매할 수 있습니다. 매분 사용자가 checkWin 함수를 트리거하여 당첨 티켓 번호를 생성하고, 승자에게 상금(하우스 수수료를 제외한 금액)을 지급한 후, 구매된 티켓을 초기화하여 새 라운드를 시작할 수 있습니다. 당첨 티켓을 구매한 사람이 없으면, 새 당첨 티켓이 선택되기 전에 라운드가 1분 더 구매를 계속 진행합니다.

도구 다운로드