Step-by-step CTF challenge writeups, written by the community.
Ten near-identical files, only one holds the password. Using file to spot the real text file among decoys.
Find a flag hidden in a haystack of text with grep.
ls shows an empty folder — until you remember dotfiles don't show by default. Uncovering a hidden password file.
Learn to read a remote program's help output to get the flag directly.
A password file with spaces in its name trips up anyone who doesn't quote or escape it properly in the shell.
Redirect execution to a win() function by overwriting the return address.
A file literally named - breaks a naive cat command. How to reference it directly and read the password inside.
Overwrite a control variable via buffer overflow to unlock the flag.
Connect to OverTheWire's Bandit wargame over SSH and read a plaintext readme file to get your first password. The very first step into the game.
Analyze a Python key-generation script to produce a valid license.
Reconstruct a password from a character-by-character check in Java.
Read a vault door's Java source code to find the plaintext password.
Export a file transferred over TFTP from a network capture with Wireshark.
Extract a flag sent in the clear over an HTTP stream captured with Wireshark.
Recover an XOR key via crib dragging from the flag's known prefix.
Solve a monoalphabetic substitution cipher using frequency analysis.
Brute-force a Caesar cipher across the 26 possible shifts.
Bypass an overly naive SQL injection filter to get past a login form.
Find a flag hidden in three pieces across the HTML source, a JS file, and a CSS file.
Detect and extract a ZIP file hidden inside a PNG image with binwalk. An introduction to steganography.
Manipulating HTTP cookies to enumerate hidden values and capture the flag. Technique: IDOR via a sequential cookie.
Share your CTF solutions with the community. Join the Discord and post in #writeups.
Join CTFdojo Discord