Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
GOATCasino — Ceci est un déploiement Truffle de contrats intelligents intentionnellement vulnérables, destiné à permettre aux personnes intéressées par la sécurité des contrats intelligents d'exploiter une grande variété de problèmes dans un environnement sûr. | Kitploit
Outils/GitHubGitHub/nccgroup/goatcasino
Analyse des VulnérabilitésAnalyse de CodeExploitationCTFApprentissage et ÉducationLabs et Pratique
GitHubnccgroup/goatcasino

GOATCasino

Ceci est un déploiement Truffle de contrats intelligents intentionnellement vulnérables, destiné à permettre aux personnes intéressées par la sécurité des contrats intelligents d'exploiter une grande variété de problèmes dans un environnement sûr.

Voir le dépôt
12028il y a 7 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Bienvenue au GOAT Casino !

Tentez votre chance (ou vos compétences) aux différents jeux du casino pour gagner de fabuleux jetons et des prix !

Ce projet est en cours de développement, il peut donc y avoir pour l'instant un nombre décevant de jeux, mais d'autres arriveront et il y a plein de choses à exploiter en attendant.

Pour commencer :

  1. Installer les dépendances

    1. La dernière version de node
    2. sudo apt install npm
    3. sudo npm install -g truffle ganache-cli
  2. Exécutez ./start_challenge.sh pour démarrer testrpc, déployer le casino sur votre testnet local et commencer à simuler les autres joueurs

  3. Examinez le code dans le répertoire contracts/ pour trouver des vulnérabilités

  4. Créez des scripts de preuve de concept pour obtenir autant de CasinoTokens que possible ! (regardez les scripts d'utilisateurs simulés dans le répertoire exec/simuilated-users/ pour avoir une idée de comment interagir avec les contrats si vous êtes bloqué)

Règles :

  1. Effectuez uniquement des actions en tant qu'« attaquant », c'est-à-dire le premier compte dans testrpc. Je vous ai facilité la tâche car c'est le compte que truffle utilisera par défaut, mais si vous voulez être sûr d'avoir raison, vous pouvez utiliser la bibliothèque dans GOATlib/GOATConfig.js et utiliser GOATConfig.accounts.attacker pour tous vos appels. Je sais que vous avez accès aux véritables comptes propriétaires et aux autres joueurs puisque c'est sur testrpc, et je ne suis pas impressionné par votre script qui parcourt les comptes et appelle transfer.
  2. Vous pouvez modifier les contrats/le code de déploiement/les utilisateurs simulés autant que vous le souhaitez à des fins de débogage, mais gardez à l'esprit que vos solutions doivent fonctionner sur le code non modifié à la fin.

Structure du répertoire :

  • GOATlib/ : bibliothèque contenant le code utilisé par les différents fichiers JavaScript.
  • build/ : le répertoire que Truffle crée lorsqu'il compile le projet. Il contient des informations sur tous les contrats du projet, y compris le bytecode compilé et les adresses des contrats déployés.
  • contracts/ : le code des contrats intelligents.
  • exec/simulated-users/ : scripts contrôlant les joueurs simulés qui jouent aux différents jeux.
  • exec/examples : exemples de scripts auxquels vous pouvez vous référer lors de la création de vos exploits
  • migrations/ : scripts exécutés par truffle pour le déploiement. Ils sont exécutés par ordre alphabétique et peuvent offrir un aperçu de la façon dont les contrats sont initialisés et dont ils s'assemblent.

Descriptions des contrats

Tous les jeux du GOATCasino utilisent un jeton conforme à l'ERC20, défini dans le fichier CasinoToken.sol. Le CasinoToken utilise certains contrats zeppelin largement répandus pour implémenter une grande partie des fonctionnalités standard d'un jeton. Vous pouvez utiliser le contrat défini dans CasinoExchange.sol pour acheter et vendre des CasinoTokens en échange d'ether.

Le fichier Faucet.sol définit un contrat qui peut être utilisé une fois par utilisateur pour obtenir un approvisionnement gratuit en CasinoTokens afin d'essayer les jeux.

Le contrat Vault.sol détient une réserve de fonds à laquelle le propriétaire peut accéder. Des parts égales des fonds du coffre sont protégées par des méthodes distinctes de contrôle d'accès afin de mieux protéger les fonds si une méthode s'avère insuffisante.

Enfin, le seul jeu du casino pour le moment est la loterie. Les utilisateurs peuvent acheter des billets numérotés de 0 à 255. Chaque minute, un utilisateur peut déclencher la fonction checkWin pour générer le numéro de billet gagnant, récompenser le gagnant avec le montant du prix (moins la part de la maison) et commencer un nouveau tour en effaçant les billets achetés. Si personne n'a acheté le billet gagnant, le tour continue pendant une autre minute d'achat avant qu'un nouveau billet gagnant puisse être choisi.

Télécharger l’outil