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. 编写概念验证脚本,尽可能多地获取 CasinoTokens!(如果你卡住了,可以查看 exec/simuilated-users/ 目录中的模拟用户脚本,了解如何与合约交互)

规则:

  1. 只能以“attacker”身份执行操作,它是 testrpc 中的第一个账户。我把它弄得很简单,因为这是 truffle 默认使用的账户,但如果你想确保自己是对的,可以使用 GOATlib/GOATConfig.js 中的库,并在所有调用中使用 GOATConfig.accounts.attacker。我知道,由于这是在 testrpc 上,你可以访问实际的 owner 账户和其他玩家账户,而且你那种循环遍历账户并调用 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 合约持有资金储备供 owner 访问。金库资金的等额部分由不同的访问控制方法分别保护,以便在某种方法被证明不足时更好地保护资金。

最后,赌场目前唯一的游戏是彩票。 用户可以购买编号为 0 到 255 的彩票。 每分钟,用户都可以触发 checkWin 函数来生成中奖彩票编号,将奖金(扣除庄家抽成)奖励给中奖者,并通过清除已购买的彩票来开始新一轮。 如果没有人购买中奖彩票,则该轮会继续再开放一分钟的购买时间,之后才能选择新的中奖彩票。

下载工具