Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
multi-juicer — 托管和管理多个Juice Shop实例,用于安全培训和夺旗赛(CTF) | Kitploit
工具/GitHubGitHub/juice-shop/multi-juicer
Web安全CTF学习与教育实验室与实践
GitHubjuice-shop/multi-juicer

multi-juicer

托管和管理多个Juice Shop实例,用于安全培训和夺旗赛(CTF)

查看仓库
3221779天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

MultiJuicer,多用户 Juice Shop 平台

在 OWASP Juice Shop 上运行 CTF 和安全培训通常相当棘手,因为 Juice Shop 本身并不适合同时被多个用户使用。指导每个人在自己的机器上启动 Juice Shop 虽然可行,但会占用太多宝贵时间。

MultiJuicer 让您能够在一台中央 Kubernetes 集群上为每位参与者运行独立的 Juice Shop 实例,从而无需在本地运行 Juice Shop 实例也能举办活动。

它的功能:

  • 根据需求动态创建新的 Juice Shop 实例
  • 在单个域名上运行,并配备一个负载均衡器,将流量引导至参与者的 Juice Shop 实例
  • 一个简洁的排行榜,展示所有参与者的进度
  • 一个便捷的管理页面,用于管理实例
  • 在 Juice Shop 容器重启时备份并自动应用挑战进度
  • 自动清理旧的和未使用的实例

MultiJuicer,高层架构图

关于架构和各个组件的详细描述,请参见架构文档。

👉 MultiJuicer 新手? 请参阅可视化操作指南,了解参与者如何注册、获取 JuiceShop 实例以及积分如何在记分牌上追踪。

安装

MultiJuicer 运行在 Kubernetes 上,安装它需要 helm

root@kitploit:~
helm install multi-juicer oci://ghcr.io/juice-shop/multi-juicer/helm/multi-juicer

在正式活动中使用 MultiJuicer 之前,请查看生产环境注意事项,了解您可能需要配置的值的清单。

要设置支持 JuiceShop v20+ AI/LLM 相关挑战的 MultiJuicer,请参阅 AI/LLM 配置指南

特定云提供商/环境的安装指南

一般来说,MultiJuicer 可以在几乎任何 Kubernetes 集群上运行,但为了帮助刚接触 Kubernetes 的用户,我们提供了一些指南,介绍如何在某些特定的云提供商上设置包含 MultiJuicer 的 Kubernetes 集群。

  • Digital Ocean
  • AWS
  • OpenShift
  • Plain Kubernetes
  • Azure

自定义设置

您有多种选项来设置堆栈,并且可以对 JuiceShop 实例进行个性化定制。您可以在以下位置找到默认配置值:helm/multi-juicer/values.yaml

下载并保存该文件,然后通过运行以下命令告诉 helm 使用您的配置文件覆盖默认值:

root@kitploit:~
helm install -f values.yaml multi-juicer ./multi-juicer/helm/multi-juicer/

要自定义 JuiceShop 实例和 MultiJuicer UI 的主题(主题、Logo、启用的挑战等),请参阅 JuiceShop 自定义指南。

卸载

root@kitploit:~
helm delete multi-juicer

常见问题

集群需要多少计算资源?

为了安全起见,请按以下标准进行估算:

  • MultiJuicer 本身需要 1GB 内存和 1CPU 开销
  • 每个参与团队/个人的 JuiceShop 实例需要 300MB 内存和 0.2CPU

上述数字反映了默认的资源限制。这些限制可以调整,请参见:自定义设置

MultiJuicer 能支持多少用户?

没有真正的固定限制(尽管您也可以配置一个 😉)。所有实例流量流经的自定义负载均衡器可以根据需要进行复制。您还可以附加一个 Horizontal Pod Autoscaler 来自动扩展负载均衡器。

为什么要用自定义负载均衡器?

我们有一些特殊需求,认为现有负载均衡器很难轻易解决:

  • 限制某个部署的用户仅限某个团队的成员。
  • 负载均衡器的 Cookie 必须安全,不易被伪造以访问其他实例。
  • 处理新实例的启动。

如果您有解决这些问题的好主意,而不需要自定义负载均衡器,请随时告诉我们,我们很乐意听取您的意见!

为什么每个团队都要有一个独立的 Kubernetes 部署?

有以下几条充分的理由:

  • 能够分别删除某个团队的实例。如果要安全地缩减规模,而不移除活跃团队的实例,使用缩放部署会非常棘手——您只能选择期望的规模,而无法决定保留哪些 Pod 以及丢弃哪些 Pod。
  • 确保 Pod 在重新创建后仍能正确关联到其团队。对于独立的部署来说,这不成问题,而对于缩放部署来说却非常困难。
  • 能够将团队名称嵌入到部署名称中。这听起来是个愚蠢的理由,但在使用 kubectl 进行调试时会变得极其方便。

如何使用 kubectl 轻松管理 JuiceShop?

您可以使用 kubectl 的自定义列功能列出所有 JuiceShop 及其相关信息。

root@kitploit:~
$ kubectl get -l app.kubernetes.io/name=juice-shop -o custom-columns="TEAM:metadata.labels.team,SOLVED-CHALLENGES:metadata.annotations.multi-juicer\.owasp-juice\.shop/challengesSolved,LAST-REQUEST:metadata.annotations.multi-juicer\.owasp-juice\.shop/lastRequestReadable" deployments
TEAM         SOLVED-CHALLENGES   LAST-REQUEST
foobar       3                   Wed May 4 2042 18:14:22 GMT+0000 (Coordinated Universal Time)
team-42      0                   Wed May 4 2042 18:14:30 GMT+0000 (Coordinated Universal Time)
the-empire   0                   Wed May 4 2042 18:14:46 GMT+0000 (Coordinated Universal Time)

这个项目是从哪里来的?

该项目始于 iteratec,一家德国的软件开发公司,用于为其内部开发人员和客户运行安全培训。该项目于 2019 年开源,并于 2023 年捐赠给 OWASP 组织 / OWASP Juice Shop 项目。

联系我们!

您可以在 OWASP Slack 工作区的 #project-juiceshop 频道中找到我们。我们很乐意听取您的任何反馈或使用报告。如果您还没有加入 OWASP Slack 工作区,可以通过此链接加入。

下载工具