diff options
Diffstat (limited to 'fast')
| -rw-r--r-- | fast/server.yaml | 8 | ||||
| -rw-r--r-- | fast/submitter.py | 30 |
2 files changed, 23 insertions, 15 deletions
diff --git a/fast/server.yaml b/fast/server.yaml index fcee064..51d8fad 100644 --- a/fast/server.yaml +++ b/fast/server.yaml @@ -1,10 +1,10 @@ game: - tick_duration: 80 - flag_format: SAAR\{[A-Za-z0-9-_]{32}\} - team_ip: 10.32.160.0 + tick_duration: 120 + flag_format: [A-Z0-9]{31}= + team_ip: 10.60.24.1 submitter: - delay: 20 + interval: 15 server: password: sifra diff --git a/fast/submitter.py b/fast/submitter.py index a5df7cb..1c7c21d 100644 --- a/fast/submitter.py +++ b/fast/submitter.py @@ -1,13 +1,21 @@ -from pwn import * +import requests + +TEAM_TOKEN = "0574cec7b21a0cba8f1b2efb5ca8fac5" + def submit(flags): - accepted_flags, rejected_flags = {}, {} - r = remote('submission.ctf.saarland', 31337) - for flag in flags: - r.sendline(flag.encode()) - response = r.recvline().decode().strip() - if response.startswith('[OK]'): - accepted_flags[flag] = response - else: - rejected_flags[flag] = response - return accepted_flags, rejected_flags + accepted_flags, rejected_flags = {}, {} + response = requests.put( + "http://10.10.0.1:8080/flags", + headers={"X-Team-Token": TEAM_TOKEN}, + json=flags, + ) + + responses = response.json() + + for flag in responses: + if flag["status"]: + accepted_flags[flag["flag"]] = flag["msg"] + else: + rejected_flags[flag["flag"]] = flag["msg"] + return accepted_flags, rejected_flags |
