Skip to content
All modules
FoundationModule 5 of 2790 minutes

Misc, esolangs and prompt injection

The category you cannot prepare for by learning a technique - so prepare the triage instead, and learn to identify a dozen shapes on sight.

Assumes1. Recognising encodings

By the end you can

  • Identify Brainfuck, Whitespace, Ook!, JSFuck and Piet from their character sets alone
  • Use a distinct-character count as a first-pass identifier for any unknown text
  • Recognise the recurring misc shapes: encoding chains, damaged codes, audio, text steganography
  • Read a file in hex before concluding it is empty or plain
  • Separate a prompt-injection challenge's instruction channel from its data channel, and attack the join
  • Recognise when a challenge is a joke and automate rather than repeat

1. Read

2. Use the tools

In the order they come up while solving. Read what each one does, or go straight to the workspace tab that runs it.

3. Try one now

Generated in your browser and checked in your browser. No account, nothing to download, and a fresh one whenever you want another.

4. Practise on the real thing

Real picoCTF challenges that use these techniques, easiest first. 33 match in total - see the full index.

Common mistakes

The wrong turns this topic reliably produces. Written as the mistake rather than the rule, because the rule is easy to agree with and easy to walk straight past.

  • Learning how Brainfuck works instead of learning to recognise it. Identification transfers to the next nine languages; tape semantics transfer to none of them.
  • Solving a hundred-round challenge by hand for the first twenty rounds before writing the script. If the shape repeats, the script is the challenge.
  • Treating an LLM challenge as a riddle. The bug is nearly always structural - untrusted text reaching a channel that is read as instructions - not a magic phrase.
  • Concluding a file is empty because a viewer shows nothing. Zero-width characters, whitespace encodings and data appended past the end marker are all invisible to everything except a hex dump.
  • Normalising the text before counting its characters. The distinct-character count is the identifier, and stripping whitespace or invisible codepoints destroys exactly the signal that Whitespace and zero-width encodings carry.

Checkpoint

Given five unlabelled artifacts, identify what each one is and name the tool that opens it, without solving any of them.

Teaching note

Resist the urge to teach how Brainfuck works. The transferable skill is identification, and an hour spent on tape semantics is an hour not spent seeing ten different shapes.

Go deeper

The lessons above are written to get you through a challenge. These go after the subject instead. Each one opens our notes on that chapter - what it argues, what to take from it and where it stops - so this is somewhere to read now rather than a book to buy first. Nothing here is affiliate-linked or sold by us.

Every book the curriculum cites has a page in the library.