Challenge list

Clear filters

20 challenges

ProgrammingLevel 4★★★★☆

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 SecurityLevel 4★★★★☆

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 SecurityLevel 4★★★★☆

Web-27. GraphQL Introspection Leak

This GraphQL API exposes a schema of User objects with introspection enabled. Investigate whether undocumented queries…

Web SecurityLevel 4★★★★☆

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 SecurityLevel 4★★★★☆

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 SecurityLevel 4★★★★☆

Web-30. Insecure Deserialization in KinoVault

A legacy backup system codenamed KinoVault reportedly serializes user session objects with Python's pickle module and…

Network SecurityLevel 4★★★★☆

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 SecurityLevel 4★★★★☆

Network Analysis - TCP Retransmission Covert Channel

capture.pcap contains TCP retransmissions with duplicate sequence numbers. Extract retransmissions whose payload…

ProgrammingLevel 4★★★★☆

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…

ProgrammingLevel 4★★★★☆

Programming - C2 Traffic Analysis

Analyze the synthetic log beacon.log, which is generated randomly at every start (no network connection is needed).…

ProgrammingLevel 4★★★★☆

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…

ProgrammingLevel 4★★★★☆

Programming - Fuzzing Result Analysis

Analyze the fuzzing result log fuzz-results.log, which is generated randomly at every start (inputs are merely stored;…

ProgrammingLevel 4★★★★☆

Programming - Blockchain Event Reassembly

/challenge/blocks.json is a list of blocks from an offline development chain, regenerated with random data every time…

ProgrammingLevel 4★★★★☆

Programming - Rootkit View Diffing

proc_ps.txt (the userland ps output) and proc_kernel.txt (the result of walking the kernel task list directly) are…

ProgrammingLevel 4★★★★☆

Programming - Anomaly Detection

/challenge/requests.csv is a web API access log that is regenerated with random data every time the container starts…

ProgrammingLevel 4★★★★☆

Programming - Pentest Finding Analysis

findings.json is a scan result built from random data at every start (in /challenge). It has entry (edge-gw),…

ProgrammingLevel 4★★★★☆

Programming - Async Scan Result Analysis

/challenge/scan-events.jsonl is the event log of an asynchronous port scanner, regenerated with random data every time…

CryptographyLevel 4★★★★☆

Cryptanalysis - DSA Nonce Reuse Key Recovery

/challenge/signatures.json, created with fresh keys at every start, holds the DSA public parameters (p of 1024 bits, q…

CryptographyLevel 4★★★★☆

Cryptanalysis - Wiener's Attack on RSA

An embedded-device team made the RSA private exponent d very small to speed up decryption. The public exponent e in…

CryptographyLevel 4★★★★☆

Cryptanalysis - Recovering an LCG's Hidden Parameters

A service generated both session tokens and an encryption keystream from a linear congruential generator x_{k+1} =…