Challenge list
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…
Regular Expressions - The One-Time Golden Glyph
Extract every KINO-four-digits-four-uppercase glyph from data.txt, identify the one occurring once, and submit it to…
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…
Message Hidden in Image LSB
Extract the message hidden in the LSB (Least Significant Bit) of a PNG file. Learn the basics of steganography…
Extract Session Cookies from Chrome
You are given `/challenge/Cookies` and `/challenge/History` (both SQLite) taken from a Linux Chrome profile. The…
Detect DNS Tunneling
Analyze the DNS query log `dns_queries.log` to detect data exfiltration via DNS tunneling. Find the host flooding a…
Docker Forensics - Container Investigation
With no Docker daemon available, investigate the metadata of the image `registry.internal/kinoco-billing-api:2.4.1`:…
Find the Deleted API Key in Git History
/app/repo is a Git repository. A developer accidentally committed an API_KEY and removed it in a later commit. Inspect…
Find Deleted File Traces in NTFS $MFT
You are given `/challenge/mft_records.txt`, the `$MFT` of the Windows machine `KINOCO-WS07` written out as per-record…
Python Automation - REST API Data Collection
A paginated local API runs in the container at `http://127.0.0.1:8000/api/records?page=N`. Walk every page until…
Python Automation - SQLite Database Analysis
Examine data.db (SQLite: users / orders / audit_log), created at every start. Aggregate orders per user_id with…
Python Automation - Custom Cipher Decryption
cipher.txt holds the flag encrypted with a custom cipher (hex). Encryption applies per byte: add (key), xor…
Python Automation - Encrypted ZIP Password Cracking
A new /challenge/secret.zip is created at every start. It contains flag.txt and readme.txt, encrypted with ZipCrypto.…
SQL Query Master - Complex Joins
The SQLite database `/challenge/company.db` has 3 tables: - employees (id, name, department_id, salary, email, note) -…
Web-21. Blind Injection in Secure User Search
This user search app only reports whether a username exists, without showing direct query results. Investigate whether…
Web-22. CSP Bypass on the Secure Comment Board
This comment board is protected by a Content Security Policy restricting script execution to the site itself and a…
Web-23. Type Juggling in the Secure Authentication System
This login portal supports form login, a JSON API login, and a verification-code check. The admin account's real…
Web-24. Exploiting a Race Condition in Secure Bank
Secure Bank lets users spend a coin balance on shop prizes. If the balance check and the deduction happen as two…
Web-25. SSTI in the Greeting Card Generator
This greeting card generator is built with Flask/Jinja2 and renders the user's message directly through the template…
Algorithms - BFS Shortest Path Through a Maze
Use BFS to find the shortest path from S to E in data.txt, then submit the UDLR move sequence to challenge.py. A…
Detect Brute-Force Attack in Event Logs
Analyze the sshd authentication log `/challenge/auth.log` of the server `kinoco-srv01` and identify the session of the…
System Call Tracing - strace Debugging
Analyze `/challenge/strace.log`, a strace recording of the source-less program `/app/mystery_program`. The program…
System Log Analysis - journalctl Master
Analyze `/challenge/system.log`, a systemd journal exported in `journalctl -o short` style. Each line reads "timestamp…