This is the absolutely terrible website/backend we used to manage the 2013 CTF. No CGI, no proper server-side code.
challs/
contains the challenge files.
flags/
contains text files with success or "keep trying" messages. Nginx was configured to return err/nope.txt
if a request to flags/
404ed.
All of these responses were standardized and expected by the browser-side JavaScript.
tablemaker.lua
was a Lua program that generated the CTF's scoreboard by slurping Nginx logs every 10 seconds.