-
Notifications
You must be signed in to change notification settings - Fork 0
/
challenge.yml
125 lines (109 loc) · 3.99 KB
/
challenge.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# NOTE: carefully read the comments
# NOTE: change all that's between {} unless specified otherwise
#
# This file represents the base specification of your challenge. It is used by
# other tools to install and deploy your challenge.
# Required sections
#
name: challenge_name
author: author_name
# Author website or Github link
author_link: author_link
# Challenge category (pwn, web, reverse, crypto, misc, linux)
category: category
# Challenge difficulty (easy, ezmed, medium, medhard, hard, extreme)
difficulty: difficulty
# Challenge description goes here
# You can write markdown in it
# Notes:
# - for multi-line descriptions, make sure to add 2 spaces at the end of each line so that descriptions are actually displayed in multiple lines
# - make sure to prepend the description with ">"
# - always add the author line in the description (because CTFd doesn't add the author in the challenge description)
description: |
> Description of the challenge goes here.
> It can be written in multiple lines though.
> As long as you add 2 spaces to each end of line
**Author** : author_name
flags:
# The flag should match this pattern: ^CyberErudites{[A-Za-z0-9_@><:\.\-\+\$#!]{12,}}$
# 1. It can have any alphanumeric characters in addition of the following
# special characters (separated by comma): _, @, >, <, :, ., -, +, $, #, !
# 2. The string inside the flag format should be at least 12 characters long and
# hard to guess.
- IngeHack{s0m3th1ng_l33t}
# Challenge type and points
# For regular challenges leave like this:
type: dynamic
value: 500
extra:
initial: 500
decay: ${DECAY} # leave it like this
minimum: 50
# For per team docker challenges
# type: docker
# value: 500
# Settings used for Dockerfile deployment
# If not used, remove or set to null
image: gcr.io/ingehack-2022/{challenge_name}
# Optional settings
# connection_info is used to provide a link, hostname, or instructions on how to connect to a challenge
# 1. For http challenges: http://{challenge_name}.chal.ctf.ingeniums.club
# 2. For nc challenges (leave ${PORT} as is): nc -v {category}.chal.ctf.ingeniums.club ${PORT}
# 3. For ssh challenges (leave ${PORT} as is): ssh -p ${PORT} {user}@{category}.chal.ctf.ingeniums.club
# 4. For per team docker challenges (leave ${INSTANCE_PORT} as is):
# 4.1 http: http://inst.ctf.ingeniums.club:${INSTANCE_PORT}
# 4.2 nc: nc -v inst.ctf.ingeniums.club ${INSTANCE_PORT}
# 4.3 ssh: ssh -p ${INSTANCE_PORT} {user}@inst.ctf.ingeniums.club
# 5. For offline challenges: remove connection_info
connection_info: connection_info
# Topics are used to help tell what techniques/information a challenge involves
# They are generally only visible to admins
# Accepts strings
topics:
- information disclosure
- buffer overflow
- memory forensics
# Tags are used to provide additional public tagging to a challenge
# Can be removed if unused
# Accepts strings
tags:
- sandbox
- js
# Files to be uploaded alongside the challenge in CTFd
# These paths are relative to the same directory where the challenge.yml file is.
files:
- dist/source.py
# DO NOT CHANGE
state: hidden
version: "0.1"
deployment:
# Temporary auto IP ban when detecting abuse
autoban: false
# Allow/Deny egress (outcoming) traffic from pod
# "allow" -> Allow outcoming traffic
# "deny" -> Deny outcoming traffic
egress: "allow"
# This stores the challenge name but in an acceptable format for deployment
# Regex for the name is [a-z0-9]+(-)*[a-z0-9]*
name: challenge-name
# The state of deployment of challenge (either false or true)
deployed: false
replicasNumber: 1
# Type of the challenge either tcp or http
type: http
dockerRepository: gcr.io/ingehack-2022
dockerImage: challenge-name
# If the challenge don't expose any port then leave it empty
containerPort: 80
limits:
cpu: 200m
memory: 500Mi
requests:
cpu: 100m
memory: 200Mi
healthCheck:
initialDelaySeconds: 10
periodSeconds: 30
other:
# parameters of pod annotations
podAnnotations: {}