Flag format: BEECTF{*}
Initial Point : 500
Decay Point : 30
Minimum Point : 100
CTFd: click here
Username: BeeCTFAdmin
Password: B33CTF4dm1n12340987!#@
- Fork this repository
- Clone the forked repository
- Open the directory on your favorite IDE
-
Open your challenge's category folder
-
Inside, create a
new folder 📂with the same name as your challenge (name should be in alllowercase) and spaces replaced with dash- -
Your challenge folder generally should have the following structure:
challenge-name ├── challenge.yml ├── README.md └── src ├── chall.py ├── flag.txt ├── solve.py └── start.sh └── dist ├── attachment2.py └── attachment1.txt- attachment1.txt : attachment file that will be given to player
- attachment2.py : attachment file that will be given to player (you can add more attachment if needed)
- challenge.yml : the challenge config file (Click here for more details!) or just look at the existing examples
- README.md : the basic explanation of the challenge and the writeup
- src/ : all of the file used for the challenge, regardless given or not given to the player
- start.sh : the file used to start the challenge docker (only for nc or web challenge)
- solve.py : the file used to solve the challenge (highly recommended to be included)
-
You can copy
challenge.ymlfrom the already existing examples and adjust the contents accordingly -
If your challenge doesn't have any files to give to the players (e.g. a netcat-only challenge), then remove the
files:section inchallenge.yml -
Add a tag for the difficulty of your challenges (easy, medium, hard) in the
challenge.ymlfile (see example) -
Refer to the example challenge folder as much as you can
- Please create a docker for your challenge, for web challenge you can make your own Dockerfile, for nc challenge specifically, you can use the mondok template
- Create a start.sh file that contains the command to run your challenge (unzipping, docker compose up, etc), and put it in the src/ folder, look at the existing examples for reference
- Create a pull request to the main branch
- A github action will automatically attempts to deploy your challenges to the test-server, make sure the checks is successful
- Check the test server and make sure your challs are working properly
- Once the pull request has been merged, check the prod server and make sure your challs are working properly
- Put the
authorpart ofchallenge.ymlinside your challenge description (refer to the example if you're confused) - Make sure you write the
category:part ofchallenge.ymlcorrectly, follow this list below :- Cryptography
- Binary Exploitation
- Reverse Engineering
- Web Exploitation
- Forensic
Use the chall server IP (31.97.187.222) in the description of the chall for NC and web.