CtfScoring


Ok, so, since i've written most of it already, here's an overview.

Assumptions:

The Events of a Scoring Round

  • Periodically, the scoring box does the following to each host:
    • Connect to the CtfFlagServer on that host
    • For each service:
      • Request the flag for the service from the CtfFlagServer
      • Request the flag through the service itself.
      • Run a series of validation tests on the service, simulating user traffic.
      • Update the database with the results (see below)
    • Disconnect from CtfFlagServer
  • repeat with next host.

Possible Results of a Scoring Round

  • If the two flags requested do not match, there's something wrong, and we should alert the admin.
  • If the service validation tests do not pass, no points are awarded.
  • If the flag matches the flag from the previous round, points are awarded.
  • If the flags do not match the previous round's flag:
    • The new flag matches one of the "Capture Flags" of another team.

This indicates that the service is now controlled by the other team. Ownership is updated in the database, but no points are awarded.

    • The new flag does not match any capture flags, and the admins should be alerted.

See Also



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