tutorial · bandit

Bandit Level 32 → 33

Escape an uppercase command shell and recover a normal shell context.

By

banditshell-escapeenvironment
Marks this level complete in your browser.

Goal

Escape the uppercase shell and obtain the password for bandit33.

Why this matters

Shell parsing happens in layers; understanding expansion order can reveal when a restricted interface still exposes an executable path.

Progressive hints

  1. Hint 1

    Observe what the shell changes before execution.

  2. Hint 2

    Think about variables the current shell expands into a program path.

  3. Hint 3

    After escape, verify identity before reading anything.

Method

Run only the lines that match the evidence you observe.

$0
id
cat /etc/bandit_pass/bandit33

Expected non-secret observation

Expanding the current shell variable starts a normal shell; id confirms bandit33 before the game password is read.

Explanation

$0 expands to the current shell's executable name before the uppercase wrapper interprets the command text.

Troubleshooting

  • Type the variable expression exactly.
  • Verify the resulting identity and shell rather than assuming the escape succeeded.

Safety and cleanup

  • Use only the OverTheWire game host and your own local practice directory.
  • Do not paste a level password into this site, screenshots, notes, or submissions. Baitaphish never asks for credentials.
  • Treat commands as learning prompts: inspect paths and flags before running them.

Completion and next step

Use the recovered credential only in the official Level 33 login. Then mark this transition complete and continue.