Skip to main content

Command Palette

Search for a command to run...

flag{H3LL0_FR13ND}

Updated
8 min read
flag{H3LL0_FR13ND}

When movies say “hacker,” they usually mean a mysterious person in a hoodie typing furiously on a glowing keyboard while symbols float in the air. Well, sorry to break it to you, that’s very far from reality. It often involves running commands you barely understand and Googling error messages for the fifth time in a row.

To add some excitement to the cybersecurity community, there is something called Capture the Flag, or CTF.

No, not the old-school playground game. This version is digital, and you can think of it as a collection of puzzles and obstacle courses built for your computer. The goal is simple: find a hidden piece of text or string called a flag. It usually looks something like this:

flag{s0m3th1ng_clev3r}

Why CTFs

CTFs are one of the few things that give you an opportunity to hack into something, test your hacking skills, and make it fun since you are competing with other hackers at the same time.

They help you understand how systems fail, and once you see how things break, you start to understand how to build them better.

CTFs are one of the best ways to build and sharpen cybersecurity skills, whether you are a complete beginner in the field or already a seasoned veteran.

They are usually of two types:

Jeopardy Style

This is the most common format.

You are given a board of challenges divided into categories like:

  • Web Exploitation

  • Cryptography

  • Forensics

  • Reverse Engineering

  • OSINT

  • Pwn / Binary Exploitation

These categories are mostly present in every CTF, and there are categories that are getting popular nowadays like AI, Web3, hardware, etc.

Each challenge is worth points based on difficulty. You pick one, solve it, submit the flag, and get the points. Jeopardy-style CTFs are the perfect place for beginners to get into cybersecurity.

Attack Defense Style

This is the advanced version.

Teams are given servers to defend while simultaneously attacking other teams’ servers. It is fast-paced, competitive, and chaotic.

For now, I will focus on Jeopardy-style CTFs because that is where the real learning happens.

A Tour of Common CTF Challenge Categories

Here is what you will usually find when browsing a CTF challenge board.

Web Exploitation

In Web Exploitation challenges, you are usually given a vulnerable or broken website, and you are expected to find the flag.

Some of the things to look for in web challenges include:

  1. The source code of the website using the view-source: .

  2. Network requests using proxy tools like Burp Suite or Caido

  3. Suspicious things in the developer tools section like unwanted cookies, console logs, etc.

  4. Misconfigured APIs

  5. Understanding various web frameworks helps you learn details specific to each framework. For example, FastAPI provides a /docs endpoint, and similarly, other frameworks have their own unique features and conventions.

The most common vulnerabilities found in web-based challenges are SQL injection, Server-Side Request Forgery (SSRF), XSS (Cross-Site Scripting), and IDOR (Insecure Direct Object Reference). These are all part of OWASP’s Top 10 vulnerabilities.

If you are interested in learning how these vulnerabilities actually work, PortSwigger Academy is the best resource to learn web-based vulnerabilities.

Cryptography

This category focuses on encoded or encrypted data. Most of the time, you will be given a script and a file that is encrypted or encoded using that script. You have to understand what’s actually going on in the script and somehow find a way to decrypt or decode whatever is in the file.

I know this sounds not that difficult, but trust me, these are some of the most challenging categories in Jeopardy-style CTFs. If you’re good at Python and encoding-related concepts, this will be your favourite category because most of the scripts are written in Python.

Other times, it is about recognizing common encodings like Base64 or hex and knowing how to decode them.

How to start:

  1. Use tools like CyberChef and dcode.fr, as these are some of the best online tools that support encoding and decoding for almost every cipher in existence.

  2. If the challenge has its own encryption script, try to understand it and reverse engineer the logic so that you can make your own decryption script.

  3. Sometimes the challenges have a script running on an nc (netcat) server, and it gives out clues and keys for you to use and deduce the encryption to decrypt the encrypted text.

Forensics

This is one of the most exciting and wild categories in Jeopardy CTFs.

You might be given a network capture, an image file, a memory dump, a corrupted machine, or sometimes, if your luck is bad, a file with a file extension so random that you have to Google it for five minutes.

In these challenges, you have to act like a digital detective and find the flag through lots and lots of data.

How to start:

  1. You can try your luck by running strings or grep, but usually flags are not that easy to find.

  2. If you have a file format that you are not familiar with, make sure you know what it is and how to work with it.

  3. These challenges have a sub-category called Steganography, which basically means hiding things in images, audio files, videos, GIFs, etc. This website has a checklist with all the tools you should try if you encounter a steg challenge.

  4. For network capture files (pcap or pcapng), Wireshark and tshark are your go-to tools to extract useful information.

  5. For challenges involving memory dumps or machine dumps, you need patience and the ability to look for different clues while searching for the flag.

Reverse Engineering

Oh man, personally, I find these very difficult because you are literally given a compiled program with no source code and asked to figure out what it does.

The solver is expected to examine binaries, read disassembled code, and locate hidden logic or hardcoded strings in an executable.

How to start:

  1. Run strings to find hardcoded strings that may or may not act as clues for the flag.

  2. Use tools like Ghidra or IDA for decompiling, and gdb for debugging and runtime analysis. Decompilers are tools that turn executables into readable code.

  3. Run the program and try to break it or make it do things it’s not supposed to.

OSINT

One of my favourites is OSINT, which refers to Open-Source Intelligence. In these types of challenges, the information you need to get the flag is public and accessible to everyone on the internet.

This usually involves searching usernames, analyzing images, checking public records, and connecting small clues scattered across the internet. Common challenges include identifying locations from photos, tracking online identities, and finding leaked or archived information.

How to start:

  1. Learn how to search effectively using techniques like dorking and reverse image searches.

  2. Tools like whois, Wayback Machine, and Sherlock are extremely useful.

Binary Exploitation

These are often referred to as pwn (short for “own,” meaning to gain control of a program) challenges.

This category involves exploiting vulnerable programs, usually written in C, to control execution or retrieve a flag.

How to start:

  1. Understand how the stack, heap, pointers, and buffers work. Most pwn challenges are based on simple mistakes in C programs.

  2. Learn to use tools like gdb to step through a program, inspect memory, and see where it crashes.

  3. Start with beginner challenges that run on your own machine before touching remote services. This helps you understand what your input is doing.

  4. Tools like pwntools make interacting with binaries and remote servers much easier once you understand the fundamentals.

How to Start Without Losing Your Mind

  1. Get good at searching

    Knowing how to search properly is a huge part of CTFs. Looking up error messages, tools, or random things you do not understand is completely normal. Reading write-ups after you have given a challenge an honest try is not cheating, it is how you realize what you missed. Writing your own write-ups helps even more because putting your thoughts into words makes the learning actually stick.

    Here’s the website where we post write-ups of the CTFs we participate in: https://z0d1ak.vercel.app/

  2. Do not do it alone

    CTFs are much more enjoyable with other people. Even if you compete solo, communities like CTFtime and Discord servers are full of people sharing hints, tools, and encouragement.

  3. Start with beginner-friendly platforms

    Some CTF platforms are built specifically for learning. Some of the best platforms to get started with are:

    • picoCTF

    • HackMyVM

    • CTFlearn

    • OverTheWire

  4. Set up a comfortable environment

    A Linux VM makes life easier since most development and security tools work best on Linux. Kali Linux is especially helpful because it comes with many tools preinstalled, so you can start experimenting right away. Using it in a VM gives you a safe space to break things, learn from mistakes, and get comfortable with the terminal and real-world server setups.

  1. Trust that the flag is there

    CTF challenges are designed so everything you need is included. Read the challenge description carefully, look through the files, and do not rush past small details.

Final Thoughts

CTFs are giant playgrounds built by curious people for curious people.

You will get stuck. A lot. You will feel confused, frustrated, and convinced that everyone else knows something you do not. At some point, you will probably think you are just bad at this.

Then something clicks.

You notice a small detail you ignored earlier. You try one more thing. A flag appears. Suddenly, all that confusion turns into excitement, and for a moment, you feel unstoppable.

This eureka moment is why people keep coming back.

Do not give up when you get stuck. Keep reading write-ups after challenges end and learn how others solved them. Every write-up you read adds another tool to your mental toolkit. Even when you solve nothing, you are still learning.

Most importantly, keep participating. CTFs happen almost every weekend, and there is always another chance to try again. You can find upcoming competitions on CTFtime at https://ctftime.org/event/list/upcoming.

So pick a beginner CTF, open a terminal, and start poking at things. The worst thing that can happen is that you learn something new. The best thing that can happen is that you find a flag :)

Happy hacking.