CTF Flag Client - Scoring and Validation
- One scoring machine runs the client. [FlagClient.pm]
-
- Client periodically connects to each contestant's daemon, and does the following:
-
- Fetches a copy of the flag according to the scoring daemon
- Fetches a copy of the flag according to the service being tested (must match above).
- Performs various service-specific tests to be sure the service is fully functional. (Implemented in separate modules)
- Feeds the contestant daemon a new flag value for that service, which the daemon happily copies over the old flag.
The scoring machine also updates a database according to the results of the above steps.
- If the two flags do not match, something fishy is afoot, alert the admins.
- If the service-specific tests fail, the service is not functional, and should not receive points.