Giter Site home page Giter Site logo

ctf-scoreboard's Introduction

Scoreboard

Description

This is a simple scoreboard web application that allows users to submit flags and view their ranking on the scoreboard. It was designed to be used as a tryout for CPTC competition, but it's functionality can be extended to any platform where flags are submitted for points.

Features

  • Account registration and login
    • SQLite database for storing user information
    • SHA-256 hashing for storing passwords
    • express-session for session management and user authentication
  • Flag submission, validation, and scoring system
    • Submitted flags are checked against a list of valid flags
    • Points are awarded for each valid flag submitted
    • Duplicate flags are not accepted
  • Report and writeup file upload
    • Users can upload a report and writeup file to explain methodology
    • Files are stored in the uploads directory, organized by user ID
  • Scoreboard with user ranking, points, and number of flags submitted
  • Countdown for when the competition ends
    • When the competition ends, the scoreboard is frozen and no more flags can be submitted

Installation

  1. Clone the repository
  2. Install dependencies with npm install
  3. Start the server with npm start
  4. Navigate to http://localhost:3000 in your browser

Usage

  1. Modify scoring.js to include your own flags and point values
  2. Modify scoring.js to change the competition end date

Pictures

Scoreboard Submissions

ctf-scoreboard's People

Contributors

landoncrabtree avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.