Inspiration
We were inspired by the growing need for hands-on cybersecurity training and the gamification of learning. Traditional CTF (Capture The Flag) competitions can be intimidating for newcomers, so we wanted to create a real-time, competitive platform that makes security challenges more engaging and accessible. The social media template approach makes familiar interfaces into learning opportunities.
What it does
GTFO is a real-time competitive security challenge platform where players race against each other to find vulnerabilities in a simulated social media application. The platform features:
- Live head-to-head competitions with real-time scoring
- Multiple security challenges including:
- SQL Injection in authentication systems
- Cross-Site Scripting (XSS) in search functionality
- Insecure Direct Object References (IDOR) in profile viewing
- Cross-Site Request Forgery (CSRF) in social interactions
- Real-time scoring and flag verification
- Interactive UI with countdown timer and score tracking
- WebSocket-based multiplayer system
How we built it
We developed GTFO using a modern tech stack split into three main components:
Backend: Node.js/Express server with Socket.IO for real-time communication, handling game logic and flag verification
Frontend: React/TypeScript application using Radix UI for the game interface and real-time updates
Webgen: Challenge generation system that creates dynamic security scenarios
Challenges we ran into
- Security Balance: Creating challenges that were vulnerable enough to be solvable but controlled enough to be safe
- Real-time Synchronization: Managing game state across multiple clients while maintaining competitive fairness
- Flag Generation: Implementing a secure system for generating and validating flags without exposing solutions
- Challenge Integration: Seamlessly embedding security vulnerabilities into a realistic social media interface
Accomplishments that we're proud of
- Created a fully functional real-time competitive platform
- Implemented four different types of security challenges
- Built a dynamic challenge generation system
- Developed a realistic social media template that teaches security concepts
- Successfully integrated WebSocket-based multiplayer functionality
What we learned
- Advanced WebSocket implementation for real-time applications
- Security vulnerability simulation and containment
- State management in competitive multiplayer environments
- Dynamic challenge generation and verification systems
- The importance of user experience in security education
What's next for GTFO
- More Templates: Expand beyond social media to e-commerce and blog platforms
- Challenge Types: Add new security challenges like:
- JWT manipulation
- Server-side request forgery
- XML external entity injection
- Tournament Mode: Implement brackets and tournament-style competitions
- Learning Resources: Add integrated tutorials and documentation
- Difficulty Levels: Create progressive difficulty settings for different skill levels
The project is open-source and available on GitHub, licensed under MIT to encourage community contributions and educational use.
Built With
- css
- express.js
- git
- github
- html
- javascript
- jest
- jwt
- node.js
- radix-ui
- react
- redis
- socket.io
- sql
- sqlite
- tailwindcss
- typescript
- vite
- webpack
Log in or sign up for Devpost to join the conversation.