Giter VIP home page Giter VIP logo

librectf's Introduction

easyctf

EasyCTF Platform for EasyCTF 2014

librectf's People

Contributors

iptq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

librectf's Issues

Help Ticket system

Users may submit tickets for platform issues. Administrator accounts will be able to view tickets and resolve them like Github issues.

Challenges

  • Import via CLI
    • Load challenges into database
    • Load challenge-related files into filestore
  • View challenges list (participants)
    • Solve challenges

Admin Interface

  • View some overall statistics
    • How many teams, how many challenges
    • Graphs?
  • Modify config (start time, end time, etc..)
  • Ban teams, manage teams

Import/Export

  • Import
    • Import challenges
    • Import users
    • Import teams
    • Import solves
  • Export
    • Export users
    • Export teams
    • Export solves

Rust 2018

Rust 2018 launches on Dec. 6, so this doesn't matter until then. We should migrate once it does; this might be as simple as cargo fix --edition and fixing a bunch of warnings, though.

Scoreboard time graph

  • Should be based on team solve times.
  • It shouldn't display before competition starts, but once the competition starts, it should go from the beginning of the CTF until the current time.

master todo list

  • user registration
    • oauth with google and github and possibly ctf calendar
    • edit user settings
      • verify/edit email
      • two factor auth
  • admin panel
    • manage users
    • manage teams
    • problem editor
      • problem importer from github and other sources maybe file upload?
    • export everything (backup)
  • problems list
    • block before/after competition
    • filtering options
  • shell server
    • chroot
  • programming judge
    • supporting more languages? possibly
  • run separate web challenge containers
  • manager interface for all containers

window.opener exploitable & security headers missing?

If I were you, I'd add rel="noopener noreferrer" to links to external urls so people can't exploit window.opener. Not very serious, but worth doing. Read more

I know, I know. Everybody hates when others tell them they are missing security headers. Is there any reason why the X-XSS-Protection header is not set? There are a few others I'd add too, but these depend on how the site is set up:

  • Strict-Transport-Security: Require use of HTTPS
  • Content-Security-Policy: Mitigates some XSS attacks
  • Public-Key-Pins: Prevents MiTM attacks using rouge X.509 certs if the CA is compromised
  • X-Frame-Options: Stops clickjacking attacks
  • X-Content-Type-Options: Stops browser from MIME-sniffing

Any update on documentation

Thanks for the project,

I am able to install project without any problem, but facing the problem to access the local website from the browsers.

If you have latest deployment documentation, please do share.

Regards,
Sourabh

Change generated challenge file nonces

Instead of two arguments, we should get a single opaque 512-char-long hex string (i.e. 256 bits) as argv[1], which depends on both the problem and the team ID.

Teams

  • Team creation
  • Inviting someone else to join your team
    • Cancelling that invite
    • Listing your invites
      • Accepting a particular invite
  • Public team profile pages
  • Leaderboard for the competition

Name of project is confusing

A CTF called OpenCTF has been going on at DEFCON for a long time. Would you please consider renaming your project?

Team Finalizing

Teams should be allowed to edit member and team information, until their team is finalized. The team captain should be able to decide when to finalize the team, and once finalized, their team cannot be changed anymore.

Problems may not be viewed/solved until teams have been finalized.

Frontend

Remaining views:

  • Challenge list
  • Team invite
  • User settings

master todo list

feel free to comment if anything seems missing

  • user registration
    • team creation
      • invite users to teams, request to join teams
    • email verification
    • two-factor auth
    • oauth login with gmail/github/others
  • admin panel
    • problem editing panel
      • upload files
      • autogen files
      • programming grader
    • themes
  • actual competition
    • block certain pages before competition
    • end competition on time
    • ctftime integration (send scores to ctftime)
    • bonus points
    • problems page
      • sort/filter by category
      • card view as well as list view
  • github integration
    • problem import
  • manager that's able to launch/drop containers
    • launch containers for challenges (webchal)
    • scale containers as necessary
  • a real logging solution.....
  • documentation......

docker-compose.yml

Why the build paths are like build: "../server" in docker-compose.yml

Because this isn't an existing path on the host:

$ docker-compose up -d
ERROR: build path /home/noraj/server either does not exist, is not accessible, or is not a valid URL.

How have I to custom this path:

$ cat docker-compose.yml | grep build
    build: "../server"
    build: "../filestore"
    build: "../server"
    build: "nginx"

Email Verification

  • Sends an email upon registration.
  • Some actions cannot be taken without email verification.

User Accounts

  • Ability to register an account
    • Verify email
  • Ability to login
    • Forgot password
  • Settings page
    • Reset password
  • Logout
    • Delete account?

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.