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.

Unless otherwise noted, all content is copyright Marc Dougherty and is subject to a Creative Commons license.