Challenge list
AES-ECB Mode Weakness
ECB leaks repeated block patterns. This introductory task first checks the difference between encryption and encoding.…
API Requests - Find the Highest-Profit Trade
When the container starts, a stock API begins running on http://localhost:9102 (you do not need to start server.py).…
Find Attack in Apache Logs
Analyze the Apache access.log (common format) to find traces of SQL injection. Tell which attacks succeeded and which…
Bash Scripting - Power of Automation
/app/numbers.txt contains numbers from 1 to 1000, one per line. Extract all numbers that satisfy these conditions and…
Flag Hidden in Excel Macro
Analyze the macro code embedded in the Excel workbook and find the hidden authentication code (the flag). Learn how to…
Git Detective - Lost Commit
/app/repo is a Git repository. A developer accidentally deleted a commit containing important information. Use git…
JSON Master - Data Extraction
/app/users.json contains information of 100 users in JSON format. Extract users that meet these conditions: - age…
OSINT Basics - Metadata Analysis
Files recovered from a departed employee's shared drive (photos `IMG_*.jpg` and Office documents) are in…
Hidden PDF Streams
The PDF file contains compressed object streams. An internal note that is not shown on the page is hidden inside them.…
Python Practice - Bulk Base64 Stream Decoding
Every line of data.txt (about 150 lines, created at every start) is Base64. Decode line by line; when the result…
Python Practice - Conditional CSV Sales Filtering
data.txt, created at every start, is a sales CSV (transaction_id,date,product_id,amount,status,ref,notes). Several…
Python Practice - Compound JSON User Query
Examine the JSON data.txt ({"users": [...]}) created at every start. Each user has id, name, email, role, active and…
Python Practice - Target-IP Access Log Tracing
data.txt (about 1,300 lines, created at every start) is a web server access log. Extract only the requests from…
Python Automation - Bulk Base64 Decoding
Every line of data.txt (about 150 lines, created at every start) is Base64. Decode line by line; when the result…
Python Automation - CSV Sales Filtering
data.txt, created at every start, is a sales CSV (transaction_id,date,product_id,amount,status,ref,notes). Several…
Python Automation - JSON User Query
Examine the JSON data.txt ({"users": [...]}) created at every start. Each user has id, name, email, role, active and…
Python Automation - Access Log Parsing
data.txt (about 1,300 lines, created at every start) is a web server access log. Extract only the requests from…
Python Automation - Password Hash Cracking
Examine data.txt (a list of SHA-256 digests) and wordlist.txt (800 four-character lowercase alphanumeric tokens), both…
RC4 Stream Cipher Weakness
RC4 was once widely used but is now deprecated. This introductory task focuses on recognizing the provided data…
Vigenere Cipher Decryption
Decrypt a Vigenere cipher when the key length is known and retrieve the flag. Ciphertext:…
Find USB History in Windows Registry
Analyze the SYSTEM file (a text model of the USBSTOR part of the registry hive) to identify the USB device that was…
Text Processing Master - sed & awk
/app/data.csv contains CSV data. Perform these operations: 1. Extract only rows where column 2 (price) >= 1000 2.…
Find Secret File in Disk Image
Inspect the ext4 filesystem disk image `disk.img`, find the secret backup hidden in the filesystem, and recover the…
Finding Hash Collisions
MD5 collisions are practical. Hashes with broken collision resistance must not be used for security-sensitive…