CTF Quick Reference
Fast lookup page for PvIB, Challenge the Cyber, and similar events
Ctrl F
02:00:00
CTF Reference

Clean, fast, and easy to scan under time pressure.

This page is meant for quick decisions during a CTF event. Use it to spot common challenge patterns, launch the right tools quickly, and jump to theory or documentation when needed.

First minute checklist

This is the default workflow to apply before overthinking a challenge.

What to do first

  • Read the challenge text carefully and extract keywords.
  • Check the real file type, metadata, readable strings, and embedded content.
  • If it is web-related, inspect requests, cookies, parameters, and source code.
  • Try common decodings first: Base64, hex, ROT13, XOR patterns.
  • If stuck for 10 to 15 minutes, switch challenge and return later.

Default command chain

Terminal
file challenge
strings challenge | less
exiftool challenge
binwalk challenge
binwalk -e challenge
xxd challenge | less

Inspect what the file really contains

A lot of easy and medium CTF tasks fall apart once you verify the file type, inspect metadata, or extract hidden content.

What to try

Useful commands

Terminal
file suspicious.pdf
strings suspicious.pdf | grep -i flag
exiftool suspicious.pdf
binwalk suspicious.pdf
binwalk -e suspicious.pdf
foremost -i suspicious.pdf -o output/
hexdump -C suspicious.pdf | less

Classic trick

A PDF may actually contain a ZIP archive or an image payload.

Terminal
mv challenge.pdf challenge.zip
unzip challenge.zip

This is exactly the kind of hidden-format trick that often appears in beginner-friendly CTF tasks.

Probe requests, parameters, and access control

Many web challenges are solved by observing the request flow and changing one small thing at a time.

Payload ideas

Payloads
' OR 1=1--
"><script>alert(1)</script>
../../../../etc/passwd
{{7*7}}
; id
$(id)

Use only inside the challenge environment and where the challenge scope allows it.

Useful flow

  • Proxy the traffic through Burp Suite.
  • Replay interesting requests and change one variable at a time.
  • Modify parameters, methods, headers, cookies, and content types.
  • Check whether privilege or record access changes unexpectedly.

Start with decoding before assuming real encryption

A surprising number of crypto challenges begin with something simple: Base64, hex, Caesar, ROT13, XOR, or repeated-key transformations.

Default approach

  • Try CyberChef first.
  • Try dCode when it resembles a known cipher.
  • Check whether it is encoding rather than encryption.
  • Search exact patterns or separators that look familiar.

Quick examples

Terminal
echo 'ZmxhZ3t0ZXN0fQ==' | base64 -d
python3 -c "print(bytes.fromhex('666c61677b746573747d').decode())"
echo -n 'text' | md5sum
echo -n 'text' | sha256sum
openssl rsautl -decrypt -inkey priv.pem -in flag.enc

Read the binary before you fight the binary

Often the fastest start is simply extracting strings and watching runtime behavior before opening a heavier reversing tool.

What to inspect

  • Run strings first to find messages, hints, and comparisons.
  • Look for hardcoded secrets, flag formats, and obvious constants.
  • Use Ghidra or IDA to inspect logic and compare paths.
  • Use ltrace and strace to observe behavior.

Useful commands

Terminal
strings binary | less
ltrace ./binary
strace ./binary
chmod +x binary
./binary

Common patterns

  • Hardcoded comparisons
  • XOR decoding or simple obfuscation
  • Password or license checks
  • Conditional logic that can be understood or patched

Check protections and understand the crash surface

Even when you do not fully solve a pwn challenge, protections and runtime behavior often reveal the intended path.

Useful commands

Terminal
checksec binary
gdb ./binary
python3 solve.py

Reminder

Even partial progress matters. A protection check, a controlled crash, or a useful symbol can tell you what kind of exploit path the author expected.

Search smart, not just wide

OSINT challenges are often about extracting the right clue and using the right search operator or reverse search method.

Useful searches

Search queries
site:example.com
site:example.com filetype:pdf
"exact phrase"
intitle:index.of backup
whois example.com
exiftool image.jpg

Common clue types

  • Challenge names that act as search hints
  • Metadata in images or documents
  • Fragments of URLs, usernames, or timestamps
  • Visual landmarks for reverse image or map lookup

Capture, filter, and decode network traffic

Network challenges often hand you a pcap file and expect you to find credentials, exfiltrated data, or hidden protocols.

What to look for

  • Open pcap files in Wireshark and follow TCP or HTTP streams.
  • Look for credentials sent over FTP, Telnet, or plain HTTP.
  • Check for DNS tunneling or suspicious ICMP payloads.
  • Extract transferred files from HTTP or SMB sessions.
  • Identify unusual ports, protocols, or covert channels.

Useful commands

Terminal
wireshark capture.pcap
tshark -r capture.pcap -Y "http" -T fields -e http.request.uri
tshark -r capture.pcap -Y "dns" -T fields -e dns.qry.name
tcpdump -r capture.pcap -A | less
nmap -sV target_ip

Wireshark filters

Wireshark filters
http.request.method == "POST"
tcp.stream eq 0
dns.qry.name contains "flag"
ftp.request.command == "PASS"
ip.addr == 10.0.0.1

Coordinate quickly and avoid tunnel vision

Good triage and communication often win more points than deep focus on one unsolved task.

Team strategy

  • Split by category where possible.
  • Share discoveries and dead ends immediately.
  • Keep one shared notes document with flags, hints, and URLs.
  • Do not let one person get stuck alone for too long.

Scoring strategy

  1. Farm easy points first.
  2. Revisit medium tasks after collecting hints from easier ones.
  3. A solved easy challenge is usually worth more than 40 minutes of guessing on a hard one.
  4. When a file feels wrong, verify the format before anything else.