The University Politehnica of Bucharest introductory security lab includes a “Decode ’til You Drop” exercise. This version focuses on the repeatable investigation method behind that style of challenge.
Learning objectives
- Recognize Base64, hex, URL encoding, and compression clues
- Predict whether the next output is text or bytes
- Inspect one layer at a time
- Use Magic for discovery without leaving it as an unexplained final answer
- Document the final explicit sequence
Warm-up
Open Unwrap nested encoding and install the sample. Magic proposes likely decoding paths and previews results.
Before accepting a suggestion, ask:
- Does the current alphabet match the proposed encoding?
- Does the decoded output have a recognizable header or readable structure?
- Is another layer expected from the context?
- Can the same result be reproduced with explicit operations?
Lab A: two URL layers
Use this input:
username=Dang&password=foo%2532%26%5E2&referrer=Hacker+M%CE%BFonRun one URL Decode step and inspect the residual %32. Then run the second step.
Solution: Decode double URL encoding.
This exercise is derived from Coventry University’s public encoding lesson.
Lab B: transport plus compression
Install Decode Base64 and Gunzip. Notice that the first output is not readable text: it begins with Gzip bytes. The correct next operation is determined by the header, not by trial and error.
Lab C: representation plus cipher
Install Decode Base64 and XOR. Step through it and record the type after each stage:
- Printable Base64 text
- Binary ciphertext bytes
- Recovered UTF-8 text
Assignment
Choose one completed multi-step recipe. Remove its final operation, inspect the intermediate output, and explain the evidence that justifies restoring that operation. Save the explicit recipe and include the sample input in your lab notes.