This workspace contains a Capture The Flag (CTF) project with 5 challenges and a hacker-style web dashboard.
index.html— main CTF dashboard and challenge launcherstyles.css— visual styling for the dashboardrequirements.txt— Python dependencies for the web challenge01-web/— web challenge directory with Flask app and flag02-crypto/— cryptography challenge files03-reverse/— reverse engineering challenge files04-pwn/— binary exploitation challenge files05-forensics/— forensic analysis challenge files
This repository is ready for GitHub. The key files include:
README.md— repository overview, setup instructions, and requirementsrequirements.txt— Python dependency list for the Flask web challenge- challenge directories and source files
Optional but recommended for GitHub:
.gitignore— to exclude generated files and local environment artifactsLICENSE— if you want to set a project license
Required tools:
- Python 3.11 or newer
pippackage manager- Flask (installed via
requirements.txt) - GitHub Desktop (for uploading and syncing to GitHub)
- A C compiler for challenge 3 and 4:
- Windows: Visual Studio Build Tools, MinGW, or WSL with
gcc - macOS/Linux:
gccorclang
- Windows: Visual Studio Build Tools, MinGW, or WSL with
- A web browser to view
index.html
Recommended tools:
- Visual Studio Code or another code editor
- A terminal or command prompt
From the repository root:
python -m pip install -r requirements.txtIf you do not have pip installed, install Python from https://www.python.org and enable the option to add Python to your PATH.
You can open index.html directly in a browser, or run a simple local server:
cd c:\Users\samue\Desktop\studies
python -m http.server 8000Then open:
http://127.0.0.1:8000
From the 01-web folder:
cd 01-web
python app.pyThen open:
http://127.0.0.1:5000
For 03-reverse and 04-pwn, compile the C source code before running or inspecting it:
gcc 03-reverse/challenge.c -o 03-reverse/challenge
gcc 04-pwn/vuln.c -o 04-pwn/vulnOn Windows, use the appropriate compiler command for your toolchain.
- Open the dashboard in your browser
- Complete each challenge in order
- The dashboard unlocks the next challenge when the previous one is solved
- Use the individual challenge folders for additional details and source files
- Open GitHub Desktop.
- Click
File→Add local repository.... - Select the folder:
c:\Users\samue\Desktop\studies. - Review the changes in the
Changestab. - Enter a commit message and click
Commit to main. - Click
Publish repositoryto upload it to GitHub.
If the repository already exists on GitHub, use File → Clone repository... instead and copy the project files into the cloned folder.
- The web challenge depends on Flask and the local Python runtime.
- The reverse and pwn challenges are source-level C challenges and require a compiler to build or inspect.
- The forensics challenge is data analysis and uses the provided
capture.txt. - Keep
flag.txtfiles private if you do not want to expose the flags publicly.