From b0725fa015ceeb002b8ec99655b8666db9f5b8ad Mon Sep 17 00:00:00 2001 From: Emile Date: Sun, 20 Oct 2019 01:31:36 +0200 Subject: basic api description --- README.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'README.md') diff --git a/README.md b/README.md index 5a35067..c9c5d4b 100644 --- a/README.md +++ b/README.md @@ -13,3 +13,41 @@ In order to not transfer the flag over a possibly insecure connection, the sha256 sum of the flag is transmitted. The companion containers can verify the flag by hashing it (sha256), comparing the hashes and so defining if a challenge is solved or not. + +## api + +The manager exposes the challenges for the companion containers to use. The +endpoint for this is `/api/getChallenges` returning some json in the following +form: + +```json +{ + "categories": { + "guess": 1, + "misc": 2, + "pwn": 1 + }, + "challenges": [ + { + "name": "random challenge name", + "description": "some bad description", + "flaghash": "6a1e963371a64b32aff302ef7f3a7d6df8df903fce10f3db6ee918f18ac11f2a", + "container": "container-randomchallenge", + "category": "guess", + "points": 100, + "static": false + }, + { + "name": "challenge 3", + "description": "This is a rather long description describing how the challenge works, what might be helpful and other boring stuff...", + "flaghash": "f87f2dc623bb1896707c68532993e434e3484c2316629814e8919dfeb5993a0a", + "container": "container-challengethree", + "category": "misc", + "points": 300, + "static": true + }, + ... + ] +} + +``` -- cgit 1.4.1