MetaCTF Internship Overview
Why did I intern at MetaCTF?
Over the past few years, I've participated in many CTFs hosted on MetaCTF's platform and have really enjoyed them, so when I got the offer to help grow the product into something even better, I couldn't refuse.
Role: Intern
Primary skills used:
- NodeJS w/ TypeScript
- MongoDB
- Redis
Timeline
2019
Goal: MetaCTF's platform needed a way for problem writers to upload files for problems (such as web files, images, etc). Their current solution required problem writers to send files to one person, and then that one person needed to move them to a server. The goal for this internship is to securely let users upload & access files; however, it is a cyber security platform, so security was a top priority.
To complete this goal, I used Object Oriented TypeScript, MongoDB, and Redis to develop a secure backend that let users upload files and only release them once the competition actually starts. Security features included rate limiting, URL randomization (to prevent fuzzing), advanced logging, request authorization, permission scopes, and more. On the frontend, I created a modal-based system to let writers interact with the backend.