CTF::FlagServer - Contestant side Daemon for CTF Flag Exchange.
my $server = CTF::FlagServer->new($args);
$server->Bind();
This is a subclass of Net::Daemon::SSL
, $args is a hashref containing any args that are valid for that class.
This is the side of the Flag Exchange that sits on the CTF Contestant's machine.
This daemon is standalone server that's involved in the Flag exchange. The Server is fully configurable using a YAML configuration file. A sample config file looks like this:
#data that the contestant-side server needs.
port: 31337
ca_cert: certs/cacert.pem
server_key: certs/server-key.pem
server_cert: certs/server-cert.pem
flags:
http: /home/www/htdocs/flag.txt
smb: /home/samba/shares/flag.txt
The server will only accept connections from clients with valid certificate signed by the Cert Authority whose key is given in the ca_cert
configuration directive.
The FlagServer understands the following commands.
getflag $servicename
When the FlagServer receives this command, it returns the contents of the file specified in configuration file under <$config-
{flags}->{$servicename}>>
setflag $servicename $content
This command sets the content of the flag specified by <$config-
{flags}->{$servicename}>> to $content.
http://crew.ccs.neu.edu/wiki/CaptureTheFlag
Marc Dougherty <[email protected]>
Ian Langworth <http://langworth.com>
Copyright 2004 by Marc Dougherty
This software is released under the terms of the GPL. A copy of the GPL can be obtained here: http://www.fsf.org/licenses/gpl.html