diff options
Diffstat (limited to 'fast')
| -rw-r--r-- | fast/server.yaml | 4 | ||||
| -rw-r--r-- | fast/submitter.py | 16 |
2 files changed, 13 insertions, 7 deletions
diff --git a/fast/server.yaml b/fast/server.yaml index 8c3bdb8..fcee064 100644 --- a/fast/server.yaml +++ b/fast/server.yaml @@ -1,7 +1,7 @@ game: tick_duration: 80 - flag_format: ENO[A-Za-z0-9+\/=]{48} - team_ip: 10.1.26.1 + flag_format: SAAR\{[A-Za-z0-9-_]{32}\} + team_ip: 10.32.160.0 submitter: delay: 20 diff --git a/fast/submitter.py b/fast/submitter.py index dcaffe7..a5df7cb 100644 --- a/fast/submitter.py +++ b/fast/submitter.py @@ -1,7 +1,13 @@ -import requests +from pwn import * def submit(flags): - flag_responses = requests.post('http://example.ctf/flags', json=flags).json() - accepted_flags = { item['flag']: item['response'] for item in flag_responses if item['response'].endswith('OK') } - rejected_flags = { item['flag']: item['response'] for item in flag_responses if not item['response'].endswith('OK') } - return accepted_flags, rejected_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 |
