Challenge list
Web-13. Bypassing File Upload Checks in ImageVault
ImageVault is an image hosting service that accepts JPG, PNG, and GIF uploads. If its validation only checks the end…
Web-14. Command Injection in a Network Diagnostic Tool
This app is a diagnostic tool that runs ping against a host you supply. If the host input is passed straight into a…
Web-15. IDOR in the UserProfile Service
The UserProfile Service exposes an API that returns profile information for a given user ID. Check whether the service…
Web-16. Weak JWT Secret in the CHIMERA Research Lab
Clues found after breaching the employee portal point to an isolated research lab system codenamed CHIMERA. It…
Web-17. Path Traversal in FileShare
FileShare lets users list and download files from a shared folder. Check whether the filename parameter passed to the…
Web-18. XXE Attack via a Contact Form
This contact form serializes its input as XML and sends it to the server, which parses it and echoes the result.…
Web-19. CSRF Transfer in a Banking App
This banking app lets a logged-in user transfer money. Check whether CSRF protections exist by seeing if a separate…
Web-20. SSRF via the URL Fetcher
This URL Fetcher service retrieves and displays the content of any URL a user provides. Check whether it can be…
Text Processing Master - sed & awk
/app/data.csv contains CSV data. Perform these operations: 1. Extract only rows where column 2 (price) >= 1000 2.…
Finding Hash Collisions
MD5 collisions are practical. Hashes with broken collision resistance must not be used for security-sensitive…
Hash Length Extension Attack
Simple signatures such as hash(secret || message) can be vulnerable to length extension attacks with Merkle-Damgard…
Padding Oracle Basics
Padding oracle attacks use error differences as a plaintext recovery signal. This introductory task decodes leaked…
Process Hunter - Hidden Process
A process named "secret_service" is running in the background. Find this process and get the following information: 1.…
Rainbow Table Attack
Unsalted fast password hashes can often be reversed with precomputed lookup databases. Reverse the given MD5 hash. MD5…
Log Analysis - Find the Intruder
/app/auth.log contains authentication logs. Detect suspicious activity: - Identify the IP address with 10+ failed…
One-Time Pad Key Reuse Attack
A one-time pad is safe only when the key is used once. Reusing the key lets known plaintext recover other plaintexts.…
Predictable Randomness
Pseudo-random output with a fixed seed is reproducible and must not be used for cryptographic secrets. Flag generation…
Compression Maze - Nested Archives
/app/flag.tar.gz is a nested compressed file. Decompress step by step: flag.tar.gz → flag.tar → flag.zip.bz2.gz →…
Breaking Small RSA Keys
Factor a tiny RSA modulus, recover the private exponent, and decrypt a list of ciphertext values. Public key and…
Cryptanalysis - Breaking the Affine Cipher
ciphertext.txt is an English report encrypted with the affine cipher E(x) = (a*x + b) mod 26. Letter case is preserved…
Regex Master - Log File Analysis
The file /app/access.log contains thousands of access log entries. Extract all entries where the IP address starts…
Environment Variable Master - PATH Hijacking
There is a hidden command "getflag" in /app/secret_bin directory. However, this directory is not in PATH, so you…