Challenge list
Network Analysis - Unmasking WebSocket Frames
capture.pcap records WebSocket traffic between a browser and a chat server. Every client-to-server frame is masked…
Network Analysis - Custom Protocol Decoding
Traffic from a system using a small custom binary protocol was captured. Download the packet capture (traffic.pcap),…
Programming - SQLite Evidence Database
evidence.db is a SQLite database built from random data at every start (in /challenge, with the tables users /…
Programming - Web Scraping Graph Traversal
site.json is a crawl result built from random data at every start (in /challenge). It holds the start and target URLs…
Programming - ZIP Password Recovery
secret.zip is a ZIP encrypted with ZipCrypto (the traditional PKWARE cipher), created at every start (in /challenge,…
Programming - Packet Log Analysis
capture.txt is a packet log created at every start (in /challenge). Each line is one flow of the form flow=<name>…
Programming - Multithreaded Result Reassembly
Analyze the parallel-job result log worker-results.jsonl, which is generated randomly at every start. Each slot was…
Programming - Memory Dump Analysis
Analyze the synthetic memory image memory.img, which is generated randomly at every start. In the heap table at the…
Programming - Known-Plaintext Attack
Analyze the evidence files ciphertext.b64 and known.txt, which are generated randomly at every start. ciphertext.b64…
Programming - Custom Protocol Parsing
protocol.bin is a binary capture created at every start (in /challenge): several length-prefixed frames that begin…
Programming - Image Steganography
image.pgm is a text-format (P2) PGM image created at every start (in /challenge). Collect the least significant bit…
Cryptanalysis - RSA Common Modulus Attack
Two systems reused the same RSA modulus n and only changed the public exponent. The ciphertexts c1 and c2 of the same…
Cryptanalysis - Diffie-Hellman with a Small Prime
An old IoT device performed Diffie-Hellman key exchange with a prime p of only 36 bits. handshake.txt contains p, g, A…
Advanced Python - Custom VM Bytecode Execution
program.kvm is bytecode for a custom four-register VM. Implement an interpreter in Python from the instruction…
Web-26. Prototype Pollution in User Profile Manager
In this Node.js/Express app, a logged-in user can update their own profile. Check whether the recursive merge function…
Web-27. GraphQL Introspection Leak
This GraphQL API exposes a schema of User objects with introspection enabled. Investigate whether undocumented queries…
Web-28. Hijacking an OAuth Authorization Code
This OAuth 2.0 authorization provider offers a login flow, but its redirect_uri validation may be weak. Investigate…
Web-29. NoSQL Injection in a MongoDB Login Form
This login portal is backed by MongoDB and builds its query directly from raw JSON username/password input.…
Web-30. Insecure Deserialization in KinoVault
A legacy backup system codenamed KinoVault reportedly serializes user session objects with Python's pickle module and…
Network Analysis - Rebuilding Chunked gzip HTTP from TCP
capture.pcap records two HTTP exchanges over one TCP connection. The server's segments are reordered and some are…
Network Analysis - TCP Retransmission Covert Channel
capture.pcap contains TCP retransmissions with duplicate sequence numbers. Extract retransmissions whose payload…
Binary Repair - Firmware Header and CRC32
Repair firmware.bin by writing KINO at bytes 0-3 and the little-endian CRC32 of bytes 12+ at bytes 8-11. Submit the…
Programming - C2 Traffic Analysis
Analyze the synthetic log beacon.log, which is generated randomly at every start (no network connection is needed).…
Programming - Buffer Overflow Crash Analysis
Analyze the crash reports crash_01.txt to crash_06.txt, which are generated randomly at every start (they contain no…