TODO
please edit logo URLs (above) after fork to get badges working
Follow these instructions from the gamelib manual
Create your service project in ./service/
.
Basic rules: After fork you can edit everything here except the gamelib
folder.
- Edit
./servicename
- Edit
./docker-compose.yml
Your service will be "build" locally. The result of "build" is copied to the vulnbox (not the service itself). On the vulnbox it will then be "install"ed.
You can script build and install steps in ./build.sh
and ./install.sh
. See the gamelib manual for instructions.
- Create a python3 file in
./checkers/
- Create a file
./checkers/config
with content<filename>:<classname>
. - Hack on! See the gamelib manual for details how your python script should look like.
- Create a python3 script in
./exploits/
namedexploit_<???>.py
- Code it (see example exploit there, or the gamelib manual)
Preferably in this order, run:
gamelib/run-build
- build the service (testbuild.sh
) and store output in./build_output
gamelib/run-install
- create a docker image containing your service (testinstall.sh
)docker-compose up [-d]
- start a container with your service image to test against- use
-d
to start in detached mode - the container writes his IPs to
./docker-container-infos.txt
once started
- use
gamelib/run-checkers
- run unit tests against your checker script to find basic errors. Service docker container must be running.gamelib/run-exploits
- test your exploits against your service docker container.
- Push your service to saarsec Gitlab
- Test
build
andinstall
steps locally - Notify an admin that enables the CI for your project
- In your very first pipeline, trigger the
build-base-image
step by hand (necessary only once)